Skip to content
SysRound

Design a chat app like WhatsApp

Stateful connections, routing between chat servers, offline delivery, receipts, ordering, group fan-out, media via object storage.

Hard. Asked at senior and staff interviews.

Practice this question out loud

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.