How the interviewer opens it
“Design a messaging app like WhatsApp: one-to-one and small group chats, on phones.”
The prompt is vague on purpose. The first few minutes are yours: narrow it to the core features and agree on the numbers before you draw anything.
What to clarify first
- scale
- latency
- durability
- retention
- ordering
- multi-device
The answers stay with the interviewer. In a SysRound round, Alex answers them as an interviewer would.
Scope of a strong answer
Core requirements
- 1:1 messages
- Groups up to ~100 members
- Offline delivery
- Sent/delivered/read receipts
Usually out of scope
- Voice/video calls
- Stories/status
- End-to-end encryption internals (mention only)
What interviewers probe
- Delivery guarantees and ordering
- Networks drop, servers crash, clients reconnect to different servers.
- Connection management and routing
- Stateful connections across a thousand servers.
- Group fan-out
- One send becomes up to 100 deliveries across servers and offline inboxes.
Common mistakes
- Polling
- Ordering by client timestamps
- Routing media through chat servers
- No offline path
The bar by level
- Senior (L5/E5)
- Durable-before-ack, sequence numbers, registry + routing, offline inbox, group fan-out, failure handling for chat server loss.
- Staff (L6+/E6+)
- Multi-region (home region per conversation), reconnect storms, capacity planning for sockets, E2E encryption's impact on server features, operability.