Course
All lessons
Every lesson is a short, self-contained read that ends in a checkpoint.
Module 01
Learn the framework
What the round is, the six moves that carry any design, the arithmetic you do out loud, and the mistakes that end interviews early.
01How a system design interview worksIt is a design review with a stranger, on a clock, scored on four signals.Beginner · 9 min02The delivery framework: six moves, every timeClarify, estimate, contract, design, deepen, close. Same order for every prompt.Beginner · 11 min03Back-of-the-envelope estimationFour numbers, rounded hard, said out loud with the decision attached.Beginner · 10 min04Numbers to know coldThe dozen figures that let you size a system without hesitating.Beginner · 8 min05Common mistakes that sink roundsTen ways strong candidates fail, the fix for each, and how to recover mid-round.Beginner · 9 min Module 02
Core concepts
The vocabulary every design round runs on: scaling, latency, reliability, availability, failure, consistency and the principles that tie them together.
Module 03
Networking and APIs
What happens between a tap and a response: DNS, TCP, TLS, HTTP, balancing, and the three API styles you will be asked to choose between.
01How a request travelsFrom a tap on a phone to a row in a database and back, in about 200 milliseconds.Beginner · 8 min02TCP, UDP, and the need for pushMost designs need a request and a reply. Some need the server to speak first.Intermediate · 7 min03HTTP that behaves well, and TLS that is not an afterthoughtCaching headers, timeouts, retries, and encryption: the unglamorous parts that decide whether a system stays up.Intermediate · 8 min04Load balancing without breaking sessionsFour algorithms, two layers, one question: what happens when a backend dies mid-request?Intermediate · 7 min05REST, GraphQL, gRPC: pick by shape of changeThe right API style follows from who calls it and how often the contract changes.Intermediate · 8 min06Protecting the API from its own usersRate limits, quotas, backpressure, and graceful degradation — the difference between a spike and an outage.Intermediate · 7 min Module 04
Data and storage
Choosing and defending a datastore: relational versus document versus wide-column, indexes, isolation levels, replication, sharding, and when a search engine belongs in the design.
01Choosing a datastore without naming brands firstAsk about access patterns, then about consistency, then pick a family — the product name is the last decision.Intermediate · 9 min02Schemas and the index that saves the queryA query without an index is a full scan, and a full scan is a latency cliff.Intermediate · 8 min03Transactions, isolation, and the anomalies in betweenACID is a promise with a dial. Know which dial position your workload needs.Advanced · 9 min04Replication: copies, lag, and the read you cannot trustThe replica is not a backup, and the seconds it lags are where stale data bites.Advanced · 9 min05Sharding, resharding, and quorumsPartitioning buys scale and takes away joins, uniqueness, and easy rebalancing.Advanced · 9 min06Search engines and analytics storesTwo systems that are never the source of truth, and how to keep them from drifting.Advanced · 7 min Module 05
Caching
Where a cache earns its keep, the three strategies worth knowing, how invalidation actually works, and what a CDN changes about a design.
Module 06
Messaging and streams
Queues versus logs, delivery guarantees, ordering, backpressure, and the event-driven patterns that decouple services without hiding failures.
Module 07
Distributed coordination
How independent machines agree on one truth: consensus and quorums, leases and locks, and the uncomfortable reality of clocks and ordering.
Module 08
Running in production
What keeps a design alive after launch: resilience patterns, observability that answers questions, scaling a fleet without manual surgery, and shipping changes safely.
Module 09
Performance anti-patterns
The "why is it slow?" playbook: measuring before guessing, reading tails instead of averages, and the recurring mistakes that turn small inefficiencies into capacity bills.
Module 10
Security
Who is calling, what may they touch, and what happens if the data leaks: identity and authorisation, protecting data in transit and at rest, and defending the public edge.
Module 11
Key technologies and patterns
The map of real systems: which category each tool belongs to, what it is good at, and the handful of patterns that keep reappearing across every design.
Module 12
Practice problems
Twelve designs worked end to end with the six-move framework: requirements, estimates, API, data model, high-level design, deep dives and bottlenecks.
01Design a URL shortenerThe warm-up problem. Small surface area, one interesting property: reads outnumber writes by a hundred to one.Beginner · 8 min02Design a distributed rate limiterA counter that must be shared, atomic, and fast — and must still work when the counter store is down.Intermediate · 8 min03Design typeahead / autocompleteTen keystrokes, ten queries, and a 100 ms budget. Precompute almost everything.Intermediate · 7 min04Design a web crawlerA polite, deduplicating pipeline that has to decide what to fetch, how often, and when to stop.Intermediate · 8 min05Design a news feedThe classic fan-out trade-off, plus the part people forget: ranking and caching the result.Intermediate · 8 min06Design a chat applicationDurable connections, ordered messages per conversation, and delivery that survives a phone going offline.Advanced · 8 min07Design a notification serviceMulti-channel delivery where the hard parts are preferences, deduplication and not waking someone twice.Intermediate · 7 min08Design a ride-hailing matcherFind nearby drivers, pick one, and never assign the same driver twice.Advanced · 8 min09Design a video platformUpload is a pipeline; playback is a caching problem. Treat them as two systems.Advanced · 8 min10Design a file sync serviceMetadata consistency is the hard part; the bytes are just blobs in a bucket.Advanced · 8 min11Design product searchAn inverted index, a relevance function, and filters that must stay fast as the catalogue grows.Advanced · 7 min12Design a payments ledgerThe problem where correctness beats availability, and every rule is about failure.Advanced · 8 min