System Design Notes
My working notes from preparing for system design interviews. Each problem is written as the questions an interviewer would ask, with the answers I would give.
What’s here
Section titled “What’s here”Eight classic problems, each broken into the questions that come up in a real interview: requirements, core entities, API, high-level design, then the deep dives that separate a pass from a strong pass.
- Ticketmaster: consistency for bookings, availability for search
- Uber: geospatial matching and fare estimation
- Web Crawler: fault tolerance, politeness, deduplication
- TinyURL: key generation, redirects, read-heavy scaling
- Google Docs: real-time collaboration and conflict resolution
- Tinder: swipe stacks, matching, location
- Dropbox: chunked uploads, sync, metadata
- LeetCode: sandboxed code execution and live leaderboards
Some pages mix English and Chinese. That’s how I took the notes, and I’ve left them that way.