Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading the question…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
System design interview question
WhatsApp, Messenger, Slack: “design a chat app” tests whether you can keep millions of people connected at once, deliver a message in a fraction of a second, and still get it to someone whose phone is switched off. It is the classic question about real-time delivery. Here is how to walk into it, and then how to practise it until the answer is yours.
Practise Chat App
Free with an account.
A messaging app lets people chat one-to-one and in small groups from their phones. A message sent to someone who has the app open should arrive within a fraction of a second, without their phone repeatedly asking the server whether anything is new. Hundreds of thousands of people are connected at any moment, spread across many servers. When the recipient's app is closed, the message must still reach them: their phone should get an alert, and the message must be waiting when they open the app, even days later. Messages arrive in enormous volume, are almost never edited, and are always read one conversation at a time, newest first.
Every phrase that matters in the brief is a requirement in disguise. Spot them before you draw a single box.
“without their phone repeatedly asking the server whether anything is new”
A connection held open so the server can hand messages over as they arrive.
“spread across many servers”
A way for the server that receives a message to reach the one holding the recipient's connection.
“their phone should get an alert”
The phone platform's push service, the only way to reach a closed app.
“the message must be waiting when they open the app, even days later”
Durable storage of every message.
“always read one conversation at a time, newest first”
The same design always gets the same score, with the reason behind every requirement — then defend it against the trade-offs above.
Messages kept together by conversation and ordered by time.
The answers are not on this page on purpose. Build the design, and these are asked — and marked — once it is submitted.
© 2026 PlayCloudLabs. All rights reserved. Not affiliated with Amazon Web Services.