11 parts · 22 chapters
Backend System Design
The backend mirror of Frontend System Design. Every design is run in rounds: the brief, the questions you ask, the numbers, a first version, what breaks it, and the next version, ending in one sentence: "vN buys this and pays that". The designs are the ones interviews and real roadmaps actually ask for.
Eleven parts: the method, then ten designs: a URL shortener, a distributed rate limiter, a payments ledger, chat with presence, a news feed, notifications at scale, file storage and uploads, search and typeahead, a distributed job scheduler, and a multi-country transfer platform that pulls everything together.
the methodRequirements, numbers, API, data model, v1, the break, v2, the sentence.
estimationBack-of-envelope QPS, storage, bandwidth and memory, done out loud.
core designsShortener, rate limiter, ledger, chat, feed, notifications.
data-heavy designsFile storage, search and typeahead, job scheduling.
the synthesisA multi-country transfer platform with rails, ledgers, residency and failure modes.
00
The Method
Six rounds, out loud · Back-of-envelope estimation
2 ch · ~12 min01URL Shortener
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min02Rate Limiter
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min03Payments Ledger
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min04Chat and Presence
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min05News Feed
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min06Notifications at Scale
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min07File Storage and Uploads
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min08Search and Typeahead
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min09Distributed Job Scheduler
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 min10A Multi-Country Transfer Platform
Brief, questions and numbers · v1, the break, and v2
2 ch · ~12 minBuilt on the backend and data coursesUses Scaling Databases, Distributed Systems, the Production Stack, Ledgers and Kafka. Frontend System Design is the mirror for client-side rounds.