← All learning pathsLearning path
Intermediate~68 min·3 systemsReal-Time Systems
Persistent connections, presence, pub/sub fanout, geo-indexed dispatch: designs where seconds matter.
After this path you will be able to
Design systems requiring live updates — chat, tracking, collaborative tools — and articulate the trade-offs between WebSockets, SSE, and long-polling at each scale tier.
Interview approach for this path
- 1.Clarify the data direction first: is it server-to-client only (SSE is enough) or bidirectional (WebSocket)?
- 2.Pick the right protocol and explain why: WebSocket for chat, SSE for notifications, long-polling for legacy environments.
- 3.Address connection scale: millions of persistent connections require a dedicated connection tier, not your app servers.
- 4.Explain pub/sub fan-out: when a message arrives, how do you push it to all connected clients on different boxes?
- 5.Handle presence and heartbeats: how do you know a user is still connected, and how quickly do you detect disconnections?
- 6.Discuss geo-distribution: for global users, how do you minimize round-trip time to the WebSocket server?
Systems in this path
3 total1
Chat (Slack-style)Intermediate·18 min
Room-based pub/sub fanout across gateway instances.
→2
Persistent connections, message queues, delivery.
→3
Uber (Driver Matching)Advanced·25 min
Geo-indexing, dispatch, real-time location streams.
→
Concepts reinforced throughout