System Design Primer is Donne Martin’s structured study guide for the system-design interview, the one that almost every senior engineering loop now includes, and that almost no CS degree actually teaches. Anki flashcards, worked exercises, real architecture write-ups, and a long reading list, organized to be worked top-to-bottom.
View System Design Primer on GitHub

- 359,165 stars
- 57,404 forks
- Markdown study guide
- No license (curated links)
System Design Primer: The Anki deck is the standout artifact
Most system-design resources are reading material. This one ships a downloadable Anki deck of ~200 flashcards covering the core vocabulary: CAP theorem trade-offs, consistency models, load balancer types, caching strategies, the standard interview boxes (URL shortener, Twitter timeline, Instagram photo storage). Spaced repetition over a few weeks is what makes the content stick under interview pressure. The deck alone is worth the bookmark.
Worked exercises, not just theory
The repo includes step-by-step solutions to classic system-design interview questions: design a URL shortener, design Pastebin, design Instagram, design Twitter, design YouTube, design a key-value store, design a rate limiter, design a chat system. Each solution walks through clarifying questions, capacity estimation, high-level design, detailed component design, bottleneck analysis. Read 2-3 of these and the pattern becomes internalized.
The format is more useful than the specific solutions: once you can deconstruct any new interview question into the same skeleton, you can answer ones the repo doesn’t cover.
Translations and reach
The README has been translated into 15+ languages by the community (Japanese, both Chinese scripts, Bengali, Portuguese, German, Greek, Hebrew, Italian, Korean, Farsi, Polish, Russian, Spanish, Thai, Turkish, Vietnamese, French). The English version is canonical; translations track it on a lag. If you’re studying in a non-English primary language, the Arabic translation effort is tracked in a separate issue (#170) rather than merged, due to script-handling issues with the source repo.
What it isn’t
Not a substitute for actually building distributed systems. The primer prepares you for the interview; it doesn’t prepare you for the job. Pair it with one real production-grade system you build (or contribute to) so the interview answers come from experience, not memorization. The primer plus zero real systems is the failure mode.
System Design Primer is the most-linked free prep material for the senior-engineer system-design interview. Use the Anki deck, work 3 of the exercises, then practice live with a peer.