System Design · Senior
System Design Case Studies Pack
Worked solutions to the classics: Design Twitter, Uber, a URL shortener, a chat app and more.
Full worked designs with requirements, estimates, data models, and the tradeoff discussion.
- Questions
- 360
- Topics
- 20
- Pages
- 318pages
- 360 questions, every one with a model answer
- 10 full case studies
- Estimation walkthroughs
- Diagrams described in text
- Follow-up drills
Get the System Design Case Studies Pack — $9
One-off. Delivered as a PDF by email the moment payment clears.
Prices shown are a USD base. Your local-market price is calculated at checkout in your own currency, plus any local sales tax.
What is inside
20 chapters, in the order the interviews tend to ask them:
- Design a URL shortener
- Design a distributed rate limiter
- Design a news feed
- Design a realtime chat system
- Design a file storage and sync service
- Design a ride hailing marketplace
- Design a video streaming platform
- Design a notification system
- Design a ticket booking system
- Design search autocomplete
- Design an analytics pipeline
- Design a web crawler
- Design a media upload and processing pipeline
- Design a collaborative document editor
- Design a social graph
- Design location based search
- Design a distributed job scheduler
- Design a payments and wallet system
- Design a recommendation engine
- Design flash sale inventory
How the answers are built
Each chapter opens with the checklist the question is really testing. A few from this pack:
- Code issuance and code resolution are different problems and deserve different data structures.
- Token bucket gives burst control with a bounded burst size; sliding window gives accuracy at the cost of memory.
- Fan out on write gives a cheap read and an expensive write; that asymmetry is what decides the model.
- Separate the gateway, which holds connections, from the store, which holds history; they scale and fail differently.
- Split metadata from bytes: the tree changes constantly, the content almost never does.
- Driver location is a write stream rather than a query table, and the read pattern is always a small radius search.
Questions this pack covers
- How can you generate short codes without a database round trip on every request?
- Where in the request path should the redirect handler sit, and what should it be allowed to touch?
- What is the actual difference between a token bucket and a sliding window log?
- Where should rate limit counters live when the application runs on many servers?
- When is fan out on write the right choice, and when should you fan out on read instead?
- How do you stop one celebrity post from writing millions of fan out rows?
- How should you decide between long polling and a websocket connection for realtime delivery?
- What protocol should you use to keep messages in order across all of a user's devices?
Each one is answered in full in the pack, with the reasoning written out rather than a bullet list.
About this pack
- How many questions?
- 360, spread across 20 topics, written out in full across 318 pages.
- Do the answers just list keywords?
- No. Each answer is written as prose, because that is what you have to reproduce when someone asks you the question.
- How do I get it?
- Pay once and the PDF arrives by email immediately, with a signed download link.
- Can I get it refunded?
- Yes, if it is not what you expected. See the refund policy.