#fundamentals
14 articles
How to Approach a System Design Interview
A repeatable 45-minute framework — requirements, estimation, high-level design, deep dives, bottlenecks — and the moves that separate a hire from a no-hire.
Scale From Zero to Millions of Users
The classic walkthrough — start with one server, add a load balancer, add caching, replicate the database, shard, geo-distribute. Every transition explained.
What Is System Design?
Start here. What system design actually means, why it matters, the framework that turns a vague problem into a defensible architecture, and how to read every other article in this course.
Back-of-the-Envelope Estimation
Capacity math you can do in your head — QPS, storage, bandwidth, memory — the latency numbers every engineer should know, and worked examples for Twitter, URL shorteners, and a chat system.
Networking and HTTP
TCP vs UDP, DNS, TLS, HTTP/1.1 vs HTTP/2 vs HTTP/3, anycast routing, and what actually happens between a browser and a server.
APIs and Communication Protocols
REST, gRPC, GraphQL, WebSockets, Server-Sent Events, and webhooks — when to use each, how to design them, and the patterns that keep them sane at scale.
Databases — SQL, NoSQL, NewSQL
Indexes, transactions, isolation levels, MVCC, WAL, LSM trees vs B-trees, replication, sharding, and the trade-offs that decide where your data lives.
Storage Systems — Files, Blocks, and Objects
Block storage, file systems, object storage (S3), CDNs, and the cost/durability/throughput trade-offs that decide where your data lives.
Caching
Cache hierarchies, write strategies, eviction policies, Redis data structures, the four classic cache pathologies, and how to size and warm a cache properly.
Load Balancers, Proxies, and Service Mesh
L4 vs L7 load balancing, algorithms from round robin to Maglev, health checks done right, sticky sessions, anycast, GSLB, service mesh, and DDoS mitigation.
Message Queues and Event Streams
Queues vs streams, Kafka in depth, delivery semantics, idempotency, dead-letter queues, schema registries, the outbox pattern, and stream processing fundamentals.
CAP, Consistency, and Replication
CAP and PACELC, consistency models from linearizable to eventual, replication strategies, quorums, partitioning, consensus (Raft, Paxos), CRDTs, and 2PC.
Reliability and Failure Patterns
Timeouts, retries with backoff, circuit breakers, bulkheads, deadlines, hedged requests, and graceful degradation — the patterns that keep distributed systems standing.
Observability — Logs, Metrics, Tracing
The three pillars of observability, structured logging, metric cardinality, distributed tracing, and how to find the needle when production catches fire at 3am.