donnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
From the publisher
README & documentation
Source previewRead the project’s overview, installation instructions and usage examples. The original README is the source of truth.
English ∙ 日本語 ∙ 简体中文 ∙ 繁體中文 | العَرَبِيَّة ∙ বাংলা ∙ Português do Brasil ∙ Deutsch ∙ ελληνικά ∙ עברית ∙ Italiano ∙ 한국어 ∙ فارسی ∙ Polski ∙ русский язык ∙ Español ∙ ภาษาไทย ∙ Türkçe ∙ tiếng Việt ∙ Français | Add Translation Help translate this guide! Learning how to design scalable systems will help you become a better engineer. System design is a broad topic. There are a vast number of resources scattered throughout the web on system design principles. This repo is an organized collection of resources to help you learn how to build systems at scale. This is a continually updated, open source project. Contributions are welcome! In addition to coding interviews, system design is a required component of the technical interview process at many tech companies. Practice common system design interview questions and compare your results with sample solutions: discussions, code, and diagrams.…
Read the full README ↗ · Preview checked 2026-10-28T00:24:47.388Z
Inside the original README — Document outline
- The System Design Primer
- Motivation
- Learn how to design large-scale systems
- Learn from the open source community
- Prep for the system design interview
- Anki flashcards
- Coding Resource: Interactive Coding Challenges
- Contributing
- Index of system design topics
- Study guide
- How to approach a system design interview question
- Step 1: Outline use cases, constraints, and assumptions
Headings are captured from the source. Links open the publisher’s document, not a locally hosted copy.
Links from the README
References supplied by the publisher, not independently verified endorsements. Check the destination before downloading files or entering credentials.
Documentation belongs to its respective authors. Reported project/model license: Other. A listing is not a grant of reuse or training rights. Confirm the document’s own terms at the source.
What this repository does
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Repository facts
- Owner
- donnemartin
- Primary language
- Python
- Stars
- 376,324
- Forks
- 59,094
- Open issues + pull requests
- 634
- License
- Other
- Archived
- No
- Default branch
- master
- Created
- 2017-02-26T16:15:28.000Z
- Last push
- 2026-09-15T01:10:09.000Z
Topics and intended use
Owner-supplied topics: design, design-patterns, design-system, development, interview, interview-practice, interview-questions, programming, python, system, web, web-application, webapp
Review the README for scope, installation, examples and limitations. We do not run repository code or certify it.
Evaluate before installing
Review licensing and dependencies, inspect recent commits and unresolved issues, and test in an isolated environment before production use. Stars and forks alone cannot answer these questions.
Source and freshness
Source: GitHub. Metadata observed 2026-10-31T18:43:23.065Z. Daily imports are snapshots, not real-time monitoring.
Popularity and source listings do not establish security, suitability, licensing rights or benchmark performance.
Related repositories
EbookFoundation/free-programming-books