The questions and guides in the order that builds on itself: vocabulary and numbers, then data at scale, then asynchrony and correctness, then breadth and rehearsal. About an hour a day. Skip ahead freely — the sequence matters more than the calendar, and the last week is the one people cut and then regret cutting.
0 of 8 questions in the plan practised. 20 questions exist in total; the plan uses the ones that teach a pattern you will be asked about.
Before any question is worth attempting you need the building blocks and the arithmetic. This week is mostly reading, with one question to prove the loop works.
Learn the five-step structure and the number ladder. By the end you should be able to turn "100 M daily users" into requests per second without writing anything down.
Read: How to run a system design interview · Back-of-envelope estimation
The three moves behind most answers: add stateless replicas, spread the traffic, keep the hot set in memory. Learn cache-aside and why you delete rather than update the key.
Read: Scalability fundamentals · Load balancing · Caching
Study it, then practise it the next day. The gap between reading it and producing it is the whole point of the site, and this is where you feel it for the first time.
Read: CDNs and edge computing
Practise: Design a URL Shortener
By the end of week 1: You can state a read-heavy design with a cache and a CDN, and defend a TTL with a number.
Where the data lives, how it is split, and what you promise about it. This is the week that most candidates are weakest on and interviewers probe hardest.
Access patterns first, schema second. Learn to say the write amplification of a design out loud.
Consistent hashing, hot shards, quorums, and what a failover loses. The distributed cache question is the purest drill for all four.
Read: Sharding and partitioning · Replication and consistency
Practise: Design a Distributed Cache
Push versus pull, and the hybrid nobody reaches without being pushed. Practise this one twice; the second attempt is where the threshold argument becomes yours.
Practise: Design a News Feed
By the end of week 2: You can pick a shard key, justify it against the queries, and say what breaks when one key goes viral.
Queues, streams, sockets and the things that go wrong when a request spans more than one service.
Delivery guarantees, ordering, consumer lag, and why exactly-once is about effects rather than delivery.
Read: Message queues and event streams · Batch and stream processing
Practise: Design a Web Crawler
Connection tiers, registries, fan-out, resync from a cursor. Size a connection fleet from a concurrency number.
Read: Real-time systems: WebSockets, SSE and push
Practise: Design Slack
Idempotency keys, the outbox, sagas versus 2PC, and the state machine with an unknown outcome. The hardest correctness question on the site.
Read: Distributed transactions and idempotency
Practise: Design a Payment System
By the end of week 3: You can make any write path safe to retry and explain what the user sees while it is in flight.
Fill the remaining patterns, then stop learning and start performing. The last week is deliberately light on new material.
Scarce capacity, admission control, streaming responses. The inference question is reported at every AI company and at most large ones now.
Read: API design · Rate limiting and resilience
Practise: Design an LLM Inference Service · Design a Rate Limiter
Use the practise-next card on the home page. Redo the two lowest grades, aiming to beat them without reading first.
One timed run a day on a question you have not done recently, out loud, to the clock: 5 minutes requirements, 5 estimates, 15 design, 15 deep dives, 5 wrap-up. Say it to a person or a recording, not to yourself in your head.
By the end of week 4: You can run the whole hour unprompted, out loud, without looking anything up.
Keep one question a day in rotation, chosen by the practise-next card on the home page, which picks whatever is weakest and stalest. Grades decay faster than you expect: a question you scored 90 % on a month ago is worth redoing before an interview, and it takes twenty minutes.