donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

Open original source ↗

From the publisher

README & documentation

Source preview

Read 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.…

donnemartin/system-design-primer on GitHub A short preview, not the full document.

Read the full README ↗ · Preview checked 2026-10-28T00:24:47.388Z

Inside the original README — Document outline
  1. The System Design Primer
  2. Motivation
  3. Learn how to design large-scale systems
  4. Learn from the open source community
  5. Prep for the system design interview
  6. Anki flashcards
  7. Coding Resource: Interactive Coding Challenges
  8. Contributing
  9. Index of system design topics
  10. Study guide
  11. How to approach a system design interview question
  12. 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.

README and project files

Issues and maintenance discussion

Releases and changelog

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.

Open original source

Related repositories

public-apis/public-apis

EbookFoundation/free-programming-books

vinta/awesome-python

practical-tutorials/project-based-learning

NousResearch/hermes-agent

TheAlgorithms/Python