The Problem
System design interview prep material is scattered across blog posts, YouTube videos, and paywalled courses. Engineers need a structured, repeatable framework for tackling design questions—from clarifying requirements to identifying bottlenecks—without jumping between inconsistent sources.
What This Does
This is a bilingual (English and Chinese) book on large-scale system design. It covers both theory—en/80-relational-database.md, en/78-four-kinds-of-no-sql.md, en/68-bloom-filter.md—and practice—en/120-designing-uber.md, en/84-designing-a-url-shortener.md, en/167-designing-paypal-money-transfer.md. The 99 Markdown files form a curriculum organized by the 4-step framework described in the README: clarify requirements, sketch high-level design, discuss components, wrap up with bottlenecks.
Content is duplicated across en/ and zh-CN/ directories, with 46 files in each. Three draft files (drafts/) hold work-in-progress material for the 2nd edition.
How It Is Wired
There is no application code here. Control flow does not apply; this is a static knowledge base. The README acts as the table of contents and navigation hub, linking to individual topic files. A Makefile exists but no targets are documented in the README, and no scripts or executables are present in the file listing.
Each Markdown file is self-contained—there are no cross-file imports, shared utilities, or code modules. The "wiring" is the reading order suggested in the README: beginners start with interview prep, then theory, then practice; senior engineers can skip straight to the practice section. The SUMMARY.md likely serves as a book-style table of contents, though its exact structure was not inspected.
How To Use It
Clone the repository:
git clone https://github.com/moses-y/system-design-and-architecture
cd system-design-and-architecture
There is nothing to build or install. Open README.md in any Markdown viewer to get the curriculum map, then read the files in the order the README prescribes. The Makefile exists but contains no documented targets—treat it as vestigial unless you inspect it yourself.
Real-World Use
A typical workflow: you are asked to design a payment system in an interview. Read en/167-designing-paypal-money-transfer.md for a worked example, then cross-reference en/43-how-to-design-robust-and-predictable-apis-with-idempotency.md for the idempotency patterns that example relies on. For a deeper dive on the storage layer, en/80-relational-database.md and en/78-four-kinds-of-no-sql.md give you the trade-off vocabulary.
Code Health & Issues
Static analysis (not subjective review) found the following:
- Med - No test files detected - repository-wide. There is no code to test; this is documentation. The finding is technically accurate but low impact.
- Med - No CI/CD pipeline detected - no
.github/or CI config. Again, no build or test gate is meaningful for a Markdown-only repo. - Med - No LICENSE file - root. This is the real issue. The upstream repo (3551 stars) has a license; this fork does not. Unclear redistribution and usage rights.
Additional observation from the file structure: the drafts/ directory contains unfinished content, and the README itself flags the 2nd edition as a work in progress. Expect inconsistencies between the English and Chinese versions—they are maintained in parallel, not generated from a single source.
The Bottom Line
A solid, well-organized system design reference with real-world examples and a coherent framework. The missing license is the main blocker for professional use. Suitable for interview prep and as a structured refresher; the bilingual content is a genuine strength if your team works across English and Chinese.