Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

system-design-primer

> 设计协作
Open source

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

360.0K stars0 likes4 views
WebsiteGitHub

About

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

*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!** The System Design Primer


Motivation > Learn how to design large-scale systems. > > Prep for the system design interview. Learn how to design large-scale systems 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. Learn from the open source community This is a continually updated, open source project. Contributions are welcome! Prep for the system design interview 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. Additional topics for interview prep: * Study guide * How to approach a system design interview question * System design interview questions, **with solutions** * Object-oriented design interview questions, **with solutions** * Additional system design interview questions Anki flashcards


The provided Anki flashcard decks use spaced repetition to help you retain key system design concepts. * System design deck * System design exercises deck * Object oriented design exercises deck Great for use while on-the-go. Coding Resource: Interactive Coding Challenges Looking for resources to help you prep for the **Coding Interview**?


Check out the sister repo **Interactive Coding Challenges**, which contains an additional Anki deck: * Coding deck Contributing > Learn from the community. Feel free to submit pull requests to help: * Fix errors * Improve sections * Add new sections * Translate Content that needs some polishing is placed under development. Review the Contributing Guidelines. Index of system design topics > Summaries of various system design topics, including pros and cons. **Everything is a trade-off**. > > Each section contains links to more in-depth resources.


* System design topics: start here * Step 1: Review the scalability video lecture * Step 2: Review the scalability article * Next steps * Performance vs scalability * Latency vs throughput * Availability vs consistency * CAP theorem * CP - consistency and partition tolerance * AP - availability and partition tolerance * Consistency patterns * Weak consistency * Eventual consistency * Strong consistency * Availability patterns * Fail-over * Replication * Availability in numbers * Domain name system * Content delivery network * Push CDNs * Pull CDNs * Load balancer * Active-passive * Active-active * Layer 4 load balancing * Layer 7 load balancing * Horizontal scaling * Reverse proxy (web server) * Load balancer vs reverse proxy * Application layer * Microservices * Service discovery * Database * Relational database management system (RDBMS) * Master-slave replication * Master-master replication * Federation * Sharding * Denormalization * SQL tuning * NoSQL * Key-value store * Document store * Wide column store * Graph Database * SQL or NoSQL * Cache * Client caching * CDN caching * Web server caching * Database caching * Application caching * Caching at the database query level * Caching at the object level * When to update the cache * Cache-aside * Write-through * Write-behind (write-back) * Refresh-ahead * Asynchronism * Message queues * Task queues * Back pressure * Communication * Transmission control protocol (TCP) * User datagram protocol (UDP) * Remote procedure call (RPC) * Representational state transfer (REST) * Security * Appendix * Powers of

Issues· 622 open

View all issuesOpen on GitHub
  • #1407

    Bug: Generator exhaustion in SpendingByCategory reducer yields 0 instead of total

    Updated Sep 28, 2026
  • #1405

    Bug: AttributeError: module 'sys' has no attribute 'MAXSIZE' in BlackJackHand.score

    Updated Sep 28, 2026
  • #1403

    Bug: AttributeError when instantiating Vehicle in parking_lot.py and missing Enum import in parking_lot.ipynb

    Updated Sep 28, 2026
  • #1162

    Wifi hacking password

    needs-reviewUpdated Sep 24, 2026
  • #1396

    Fix broken links and update outdated references in documentation

    Updated Sep 17, 2026
  • #1331

    Volunteer for maintainer reviewer role

    Updated Sep 16, 2026
  • #1388

    system design

    Updated Aug 28, 2026
  • #1386

    一hj

    Updated Aug 25, 2026
  • #1385

    小

    Updated Aug 21, 2026
  • #1384

    我

    Updated Aug 21, 2026

> Tags

Pythondesigndesign-patternsdesign-systemdevelopment

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedOct 2, 2026
Category设计协作
PricingOpen source

> Related tools

F
Figma
协作式界面设计工具
S
sketch-wakatime
Sketch plugin for automatic time tracking and metrics generated from your Sketch usage.
Q
QuickColor
Quickly apply fills from the global or document color palettes to selected elements - 🎨