Skip to content

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

Week 2: Data layer

Week 3: Correctness at scale

Week 4: Coordination and real-time

Week 5: Architecture and money

Week 6: Pipelines and analytics

Week 7: Breadth

Week 8: Polish

1-week crash plan

Day Focus Pages
Day 1 HLD core The 45-minute HLD framework, Back-of-envelope estimation, From one server to millions of users, Caching and CDNs, Choosing a database, Partitioning, sharding and consistent hashing, Latency numbers and estimation tables, Database selection matrix, HLD round checklist
Day 2 HLD correctness + P0 case studies Replication, Transactions, 2PC, sagas and idempotency, CAP, PACELC and consistency models, Messaging, queues and Kafka internals, Rate limiting, Resilience patterns, Design a URL shortener, Design a distributed rate limiter, Design a Dynamo-style key-value store, Design a distributed unique ID generator
Day 3 LLD core Object-oriented Python for interviews, SOLID in Python, The LLD interview framework, Concurrency for LLD in Python, Strategy, State, Observer, Factory Method, Singleton, Command, Builder, Decorator, Design a parking lot, Design a vending machine (and a coffee machine)
Day 4 P0 case studies Design a news feed, Design a chat system, Design YouTube or Netflix, Design Uber (with a DoorDash variant), Design Ticketmaster (with a hotel-booking variant), Networking for system design, Geospatial indexing
Day 5 P0 problems Design an elevator system, Design Splitwise, Design a movie ticket booking system (BookMyShow), Design an in-memory cache (LRU, LFU, TTL), Design tic-tac-toe (an extensible board game), Design a rate limiter (LLD), Problem to pattern quick reference, LLD round checklist
Day 6 Mocks (read, then redo timed from the prompt alone) Mock HLD interview: news feed, Mock HLD interview: Ticketmaster, Mock LLD interview: parking lot, Mock LLD interview: movie ticket booking
Day 7 Review Common SDE2 mistakes in design rounds, Clarifying-question bank, Consistency, replication and isolation tables, Queue and stream selection, Glossary

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

  1. Read the TL;DR and the diagrams first; try to predict the deep dives before reading them.
  2. For case studies, redo the estimation on paper. For LLD problems, write the class diagram before looking at the implementation, then run the tests.
  3. Answer the follow-up questions out loud. If you cannot, that is the section to reread tomorrow.
  4. Log the page in your own one-line-per-page notebook: the crux, the numbers, the pattern.