What to work through
Work through a chat app as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- See a list of conversations with unread counts
- Open a conversation and scroll back through older messages
- Send a message and see new messages arrive as they happen
- See who is typing and which messages were read
Constraints to discuss
- A new message shows without a refresh, in the order it was sent
- A message is never lost or sent twice, even on a bad connection
- Opening a conversation shows its latest messages without loading its whole history
- Typing and scrolling answer within 200 milliseconds
- New messages are announced to screen readers
Need a starting point?
Watch for these common gaps as you prepare:
- Keeping a copy of a message in each place it shows, so an edit misses some
- Losing the reading place when older messages load above
- Loading every channel's history at start
- Sending a typing signal on every keystroke
- Treating a quiet connection as a live one
- Retrying a failed send in a way that posts it twice
Why this question is in the collection
These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.
- Airbnb: A front end tip from April 2024: the system design question was a chat, "nothing fancy".
- DoorDash: A senior front end (E5) tip from November 2025: a chat app in the system design round, the interviewer handing over the client part of the diagram; REST or GraphQL and a backend-for-frontend layer had to be justified.
- Discord: Two front end tips from May 2026: candidates got a chat app, or a chat server like Discord, in the tech screen.
- Meta: A frontend engineer reports a third onsite round in June 2025 built on scenarios such as a messaging UI or a dashboard; the question listed is how to architect the frontend for a messaging system.