Real-time systems
Push-based delivery, fan-out, back-pressure. The set of concepts behind chat, live feeds, gaming, collaborative editors.
For: Engineers prepping for chat / feed / collab-doc prompts
After this path
Design a push-based real-time system end-to-end: protocol, fan-out strategy, presence, back-pressure, and reconnection semantics.
- 1Pattern
Real-time delivery
Poll, long-poll, SSE, or WebSocket — the choice is about update frequency, direction, and how many persistent connections you can afford.
Why this, here: Pattern-level overview of push + fan-out.
- 2Skill
realtime-delivery
Polling, long-polling, SSE, WebSocket — the choice is about connection count and direction, not cleverness. Pick wrong and you pay in money or in user-visible lag.
Why this, here: WebSockets, SSE, long-poll — when each wins.
- 3Skill
protocol-choice
REST for humans, gRPC for services, GraphQL for views, async for anything that takes more than a second. Most candidates default to "REST everywhere" — that's fine until it isn't, and the interviewer will find the seam.
Why this, here: TCP vs QUIC vs HTTP/2 for push.
Checkpoint
Pick for a live-scores feed watched by 100k concurrent viewers: WebSockets, SSE, or long-poll? Defend the choice against the other two by name. If one is unfamiliar, the protocol muscle isn’t there yet.
- 4Pattern
Fan-out: on write vs on read
Where does the work live — at write time (push to every follower's inbox) or at read time (gather from each followed user)? Both break at the extremes; hybrids win.
Why this, here: Where the messages actually go. Hybrid is the answer.
- 5Skill
backpressure-queueing
Little's Law isn't optional — it's why your queue grows without bound when the producer outruns the consumer. Unbounded queues are a bug, not a feature.
Why this, here: Slow consumers must be able to complain. Drop or block, but don't OOM.
Checkpoint
When a slow consumer falls behind, pick one: drop, block the producer, or buffer with a bounded queue. Name the user-visible consequence of each. Systems without this answer OOM at 3am.
- 6Skill
Async messaging & queues
Queues decouple producers from consumers — but the delivery semantics come with sharp edges. Exactly-once is a lie; at-least-once + idempotent consumers is the truth.
Why this, here: Bus, topics, consumer groups. The plumbing.