Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 5.52 KB

File metadata and controls

74 lines (55 loc) · 5.52 KB

2-week system design sprint

A focused sprint at one to two hours a day, for an interview a couple of weeks out.

A focused plan for when you have an interview coming up soon. Assumes about 1 to 2 hours per day. Adjust to your level.

Two weeks buys you the 11 patterns that carry most answers and five questions practiced properly. It does not buy you all 30 patterns or the deep dives, so the plan spends week 1 on material and week 2 entirely on performing. If you have six weeks, use the 6-week plan instead and cover everything.

flowchart LR
    subgraph W1["Week 1: material"]
        direction TB
        A["Days 1 to 6<br/>framework + 11 patterns"] --> B["Day 7<br/>recall check"]
    end
    subgraph W2["Week 2: performance"]
        direction TB
        C["Days 8 to 12<br/>5 questions, timed"] --> D["Days 13 and 14<br/>mock and redo"]
    end
    W1 -->|"stop reading, start talking"| W2
Loading

Week 1: build the foundation

Day Focus
1 The interview framework, estimation, and non-functional requirements
2 Caching and load balancing
3 Sharding and partitioning and replication
4 Consistency models and the CAP theorem
5 Message queues and rate limiting
6 SQL vs NoSQL, database indexing, consistent hashing, and trade-offs
7 Review: re-explain the 11 patterns from days 2 to 6 from memory, 2 minutes each

You are done with week 1 when you can say what each of those patterns solves, one trade-off it carries, and one situation where you would not reach for it. Do this without the page open. If you need the page, that pattern is not learned yet.

Day 7 is a test, not a reading day. Re-reading feels like progress and produces very little. Explaining something out loud from an empty page is what shows you the gap.

Week 2: apply to questions

Day Focus
8 Design TinyURL end to end
9 Design Instagram or Twitter (feed and timeline)
10 Design WhatsApp (a real-time chat system)
11 Design Uber (a geo system)
12 Design a web crawler or a notification system
13 A timed mock interview under real conditions
14 Review your weak spots and redo one question

Run every one of these days the same way: 45-minute timer, blank page, talking out loud the whole time, page closed. Open the walkthrough only when the timer stops, and write down the difference. The five questions are chosen to cover five different shapes, so the point is not to memorize five answers. It is to notice that the framework carries you through all of them.

You are done with week 2 when the first four minutes of a question you have never seen feel automatic.

Which patterns you are skipping

This plan covers 11 of the 30 patterns. The other 19 are not unimportant, they just do not fit in two weeks. If a question in week 2 pushes you into one of them, read that single page then rather than trying to cover the set:

Tips

  • Always talk out loud and draw. The interview tests communication as much as knowledge.
  • After each question, write down what you missed and target it next time.
  • Browse the full question catalog for more practice.
  • For senior or staff roles, skim the deep dives index. There are 19; the first six in its reading order (GFS, BigTable, Dynamo, HDFS, Cassandra, ZooKeeper) give you the most coverage for the time.
  • Read senior vs staff expectations before your mock, so you know which bar you are being graded against.
  • Practice live: mock interviews with ex-FAANG engineers.

Go deeper