// the find
donnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
A long-form study guide for distributed systems concepts and system design interviews. Covers the standard distributed systems canon — CAP theorem, caching strategies, load balancing, database replication patterns — with diagrams, worked examples, and Anki decks for spaced repetition. Aimed squarely at engineers preparing for FAANG-style design interviews.
The worked solutions (Pastebin, Twitter timeline, web crawler, AWS scaling) are genuinely useful — they walk through trade-off reasoning rather than just presenting an answer. The Anki decks are a nice touch; spaced repetition for latency numbers and consistency models is the kind of thing most people say they'll do and never do. The breadth is real: it gets from DNS TTLs to database federation to back-pressure in message queues without losing the thread. Diagrams are plentiful and clear, not decorative.
The content is frozen in roughly 2018-era distributed systems thinking. There's nothing on consensus protocols beyond a hand-wavy mention of Paxos, nothing on modern storage engines, and the NoSQL section reads like it was written before anyone had strong opinions about which NoSQL actually fits which workload. The Python code in solutions is illustrative pseudocode at best — don't expect anything you could run. The OO design section is explicitly unfinished and hasn't moved in years. If you already know the basics, there's no depth path here; it tops out at 'draw boxes and arrows and mention sharding.'