Mock Interviewer

Ask Coach

Ask Coach
Clarify requirements before you design — kept separate from your stage notes.

Tap a question to start, or type your own below.

Chat System Design

Visual Problem Diagram

Chat System Design architecture diagram

Scenario

A product launch spikes 30K messages per second while 5M users sit with WebSockets open. One user's "typing…" indicator should not fan out as a full message; offline users must catch up without duplicate bubbles when the network retries. The interview is real-time delivery, ordering, and connection scale—not a single "message queue" box.

Design a real-time chat system supporting one-on-one and group messaging with delivery and read receipts, presence, and searchable history. Production systems separate low-latency signaling from media blobs and assume networks retry—your design must handle duplicates and ordering without confusing users.

You should support text and attachments, online/typing presence, offline catch-up, and ordered delivery at scale. Be ready to explain connection server sharding, per-chat sequence numbers, group fan-out policies, and storage for 2.5B+ messages/day. Latency budgets and degradation when the ranker or fan-out queue lags are fair game.

Constraints

Functional

1:1 and group chat, text/images/files, delivered/read receipts, presence, message history with pagination

Non-functional

< 200 ms p95 delivery for online users, 99.99% availability, ordered per-chat delivery, durable history

Scale

500M users, 50M DAU; ~2.5B messages/day (~30K/s peak); ~1.25 TB/day; millions of concurrent connections

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs

Log in to start practicing

Preview the problem below. Sign in to start your timed session, save progress, and use the AI coach.