Study roadmap¶
Two ways through the handbook. The 8-week plan (10–12 hours a week) covers everything, P0 pages first. The 1-week crash plan (6–8 hours a day) is for an interview next week: only P0 material and the mocks.
Each week ends with a deliverable — something you write or run without looking at the page. That is the difference between having read a design and being able to produce it in 45 minutes.
8-week plan¶
| Week | Theme | Focus |
|---|---|---|
| 1 | Foundations | 6 HLD fundamentals, 1 case study, 6 LLD fundamentals/patterns, 1 LLD problem |
| 2 | Data layer | 5 HLD fundamentals, 3 case studies, 6 LLD fundamentals/patterns, 3 LLD problems |
| 3 | Correctness at scale | 3 HLD fundamentals, 3 case studies, 8 LLD fundamentals/patterns, 3 LLD problems, 1 mock |
| 4 | Coordination and real-time | 4 HLD fundamentals, 4 case studies, 5 LLD fundamentals/patterns, 4 LLD problems, 1 mock |
| 5 | Architecture and money | 3 HLD fundamentals, 4 case studies, 5 LLD fundamentals/patterns, 4 LLD problems, 1 mock |
| 6 | Pipelines and analytics | 4 HLD fundamentals, 6 case studies, 4 LLD fundamentals/patterns, 5 LLD problems, 1 mock |
| 7 | Breadth | 2 HLD fundamentals, 6 case studies, 4 LLD fundamentals/patterns, 7 LLD problems, 2 mocks |
| 8 | Polish | 4 case studies, 9 LLD problems |
Week 1: Foundations¶
- HLD fundamentals: The 45-minute HLD framework, Back-of-envelope estimation, From one server to millions of users, Networking for system design, API design for HLD rounds, Load balancing, reverse proxies and API gateways
- Case studies: Design a URL shortener
- LLD fundamentals and patterns: Object-oriented Python for interviews, The LLD interview framework, Design patterns overview, Strategy, Factory Method, Singleton
- LLD problems: Design a parking lot
- Deliverable: Write the 45-minute HLD framework from memory; run the parking-lot demo and read its tests.
Week 2: Data layer¶
- HLD fundamentals: Caching and CDNs, Choosing a database, Storage engines and indexing, Replication, Partitioning, sharding and consistent hashing
- Case studies: Design a distributed rate limiter, Design a Dynamo-style key-value store, Design a distributed unique ID generator
- LLD fundamentals and patterns: SOLID in Python, UML with Mermaid, State, Observer, Builder, Decorator
- LLD problems: Design a vending machine (and a coffee machine), Design tic-tac-toe (an extensible board game), Design an in-memory cache (LRU, LFU, TTL)
- Deliverable: Produce an estimation sheet for three systems; implement an LRU cache from scratch without looking.
Week 3: Correctness at scale¶
- HLD fundamentals: Transactions, 2PC, sagas and idempotency, CAP, PACELC and consistency models, Messaging, queues and Kafka internals
- Case studies: Design a news feed, Design a chat system, Design a notification system
- LLD fundamentals and patterns: DRY, KISS, YAGNI, Demeter, GRASP and cohesion, Concurrency for LLD in Python, Command, Template Method, Facade, Adapter, Dependency Injection, Repository
- LLD problems: Design an elevator system, Design Splitwise, Design a rate limiter (LLD)
- Mock interview: Mock HLD interview: news feed
- Deliverable: Redo the news-feed mock timed; write a concurrency test for the elevator controller.
Week 4: Coordination and real-time¶
- HLD fundamentals: Consensus and coordination, Time, clocks and ordering, Rate limiting, Resilience patterns
- Case studies: Design Uber (with a DoorDash variant), Design Yelp (proximity service), Design Nearby Friends, Design typeahead autocomplete
- LLD fundamentals and patterns: Chain of Responsibility, Mediator, Composite, Iterator, Proxy
- LLD problems: Design a movie ticket booking system (BookMyShow), Design a library management system, Design a logging framework, Design an in-memory pub/sub message queue
- Mock interview: Mock HLD interview: chat system
- Deliverable: Redo the chat mock timed; implement a seat hold with TTL and version check.
Week 5: Architecture and money¶
- HLD fundamentals: Monolith, microservices, CQRS and event sourcing, Object, file, search, time-series and graph storage, Security essentials
- Case studies: Design YouTube or Netflix, Design Dropbox or Google Drive, Design Ticketmaster (with a hotel-booking variant), Design a payment system and digital wallet
- LLD fundamentals and patterns: Memento, Unit of Work, Null Object, Event Bus, Pipeline and Middleware
- LLD problems: Design an ATM, Design a hotel management system, Design a text editor with undo and redo, Design an in-memory key-value store with transactions
- Mock interview: Mock HLD interview: Ticketmaster
- Deliverable: Redo the Ticketmaster mock timed; write a double-entry ledger with idempotency keys.
Week 6: Pipelines and analytics¶
- HLD fundamentals: Observability, SLOs and error budgets, Geospatial indexing, Batch and stream processing, Probabilistic data structures
- Case studies: Design a distributed message queue, Design a metrics monitoring and alerting system, Design an ad click aggregation system, Design a Top-K heavy hitters service, Design a real-time gaming leaderboard, Design a distributed cache
- LLD fundamentals and patterns: Abstract Factory, Specification, Object Pool, Visitor
- LLD problems: Design a task scheduler (cron, LLD), Design a stock brokerage system, Design a food delivery system (Swiggy, Zomato, DoorDash), Design Uber (LLD) with driver matching, Design a meeting scheduler and calendar
- Mock interview: Mock LLD interview: elevator system
- Deliverable: Redo the elevator mock timed; implement a windowed aggregator with a watermark.
Week 7: Breadth¶
- HLD fundamentals: Classic papers digest, Deployments, feature flags and data migrations
- Case studies: Design S3 (with a GFS/HDFS variant), Design a distributed job scheduler, Design Google Docs, Design Amazon (e-commerce with inventory and flash sales), Design a search engine (with Twitter real-time search), Design Twitch (live streaming with live comments)
- LLD fundamentals and patterns: Prototype, Bridge, Flyweight, Interpreter
- LLD problems: Design chess, Design snake and ladder, Design Stack Overflow, Design Amazon (cart, order, inventory, payment), Design Cricinfo (live scoreboard), Design a traffic signal controller, Design an in-memory file system
- Mock interview: Mock LLD interview: parking lot, Mock LLD interview: movie ticket booking
- Deliverable: Redo the parking-lot and movie-booking mocks timed.
Week 8: Polish¶
- Case studies: Design a web crawler, Design Gmail, Design a stock exchange, Design LeetCode (online judge)
- LLD problems: Design LinkedIn (social network), Design a payment gateway and digital wallet, Design a notification service (LLD), Design an online auction, Design a restaurant management system, Design a learning management system, Design the snake game, Design a car rental system, Design a bowling alley
- Cheatsheets: all of them — see the cheatsheets index
- Deliverable: Re-read every P0 page and all cheatsheets; two full timed mocks per track with a peer; review the common-mistakes sheet.
1-week crash plan¶
On day 7, also redraw five architectures from memory (news feed, chat, Ticketmaster, key-value store, Uber) and compare them with the pages.
How to study a page¶
- Read the TL;DR and the diagrams first; try to predict the deep dives before reading them.
- For case studies, redo the estimation on paper. For LLD problems, write the class diagram before looking at the implementation, then run the tests.
- Answer the follow-up questions out loud. If you cannot, that is the section to reread tomorrow.
- Log the page in your own one-line-per-page notebook: the crux, the numbers, the pattern.