A thorough plan for building real depth from a baseline. Assumes about 1 hour per day. If you have less time, see the 2-week sprint or the 1-week crash plan.
The interview framework, estimation, non-functional requirements, and trade-offs. Get comfortable structuring an answer.
Work through every pattern: caching, load balancing, sharding, replication, consistency models, CAP, consistent hashing, message queues, rate limiting, CDN, database indexing, and bloom filters. Re-explain each from memory.
Practice the core questions: TinyURL, Instagram, Twitter, WhatsApp, rate limiter, and notification system. One per day, end to end.
Tackle the harder ones: Uber, Netflix, Dropbox, web crawler, payment system, and flash sale.
The advanced questions (unique ID generator, recommendation system, Google Docs, and more) and the deep dives (Dynamo, Kafka, Cassandra, GFS). These are senior-level signal.
Do timed mock interviews, review your weak spots, study common mistakes and communication tips, and prepare for your target company.
- Always talk out loud and draw.
- Keep a log of what you missed after each question, and revisit it.
- Full course: Grokking the System Design Interview