System design, explained
Design systems that scale.
Clear, practical explanations of system design, caching, rate limiting, databases and distributed systems, for interviews and for real production work.
$ syllabus --list
01 Fundamentals 5 lessons
02 Patterns 5 lessons
03 Databases 6 lessons
04 Distributed systems 4 lessons
05 Walkthroughs 4 lessons
$ The syllabus
24 lessons in 5 modules
- Module 01
Fundamentals
Estimation, APIs, load balancing, CDNs and the monolith question.
- Module 02
Patterns
Caching, rate limiting, idempotency, messaging and event sourcing.
- Module 03
Databases
Choosing a database, indexes, storage engines, isolation, replication and sharding.
- Module 04
Distributed systems
CAP and PACELC, consistent hashing, distributed locks and sagas.
- Module 05
Walkthroughs
Classic designs, worked end to end.
Interview prep
The System Design Interview: A Step-by-Step Framework
A step-by-step framework for system design interviews: clarifying requirements, estimates, APIs, data models, high-level design, deep dives and trade-offs.
Independent
Our coverage is never paid for. Advertisers do not choose or review what we publish.
Sourced
We check facts against primary sources and official guidance, and list them on every guide.
Kept current
We revisit guides when facts, prices or rules change, and date every update.