System Design Primer

A free guide to large-scale system design and interview prep, with flashcards

GitHub 378k Learn CC-BY-4.0 Web

A free, open source guide for engineers who want to understand how large-scale systems are built, and for people preparing for system design interviews. It is a collection of study material rather than a single textbook, so readers can go straight to the topics they need.

It starts with core trade-offs, such as performance versus scalability and consistency versus availability, then covers building blocks like DNS, CDNs, load balancers, caches, databases, asynchronous processing and communication. It also works through interview questions with sample solutions and diagrams, includes object-oriented design exercises, and provides Anki flashcard decks for spaced review.

Categories

Similar apps

The Algorithms - Python

Interview Prep Learn

226k

Python implementations of classic algorithms, built for learning rather than production

JavaScript Algorithms

Interview Prep Learn

197k

JavaScript implementations of classic data structures and algorithms, with explanations

Tech Interview Handbook

Interview Prep Learn

143k

Free, condensed interview prep for busy engineers, from resume to offer