Most CAP theorem explanations conflate availability with freshness, CAP consistency with ACID consistency, and treat CP/AP as permanent labels. Here's how to state the trade-off correctly during a network partition.

Most CAP theorem explanations conflate availability with freshness, CAP consistency with ACID consistency, and treat CP/AP as permanent labels. Here's how to state the trade-off correctly during a network partition.

Holding a million WebSocket connections is easy; delivering one message to users scattered across servers is the hard part. Here's why a broker alone doesn't solve fanout, and what a presence registry actually buys you.

WebSockets are the most efficient option per message, but idle connections still consume memory and file descriptors — for a large, mostly-idle client population, polling or SSE can end up cheaper overall.

"Server push" is a misleading name: browsers behind NAT and firewalls can't be dialed directly, so polling, long polling, SSE, and WebSockets are all client-initiated channels the server holds open differently.

A "Design Spotify" prompt mixes local controls, routine backend work, and hidden distributed-systems problems. Here's how to scope requirements so your limited interview time goes to what actually deserves architectural depth.

Horizontal scaling isn't a more mature version of vertical scaling — it's a change in system topology with real routing, state, and connection-budget costs. Here's how to decide which trade-off actually fits your measured bottleneck.

"We'd add more servers" is an unfalsifiable scaling answer. Setting latency, throughput, availability, fault-model, and cost targets first turns an assumed 10 million DAU into a checkable peak RPS and in-flight concurrency via Little's Law.

System design vocabulary is easy to reproduce, so a familiar diagram alone doesn't differentiate a candidate; the stronger signal is whether each architectural choice is tied to the actual workload, product risk, and operating constraints. The post walks through a notification-platform prompt to show what that judgment looks like in practice.

AI can speed up system design interview prep and create a false sense of readiness. Here's how to use it to sharpen your reasoning while keeping the thinking yours.

After years in one engineering role, interviewing gets rusty. Here is how to turn your day-to-day work into clear, specific answers an interviewer can follow.
