30d roadmap · 3 milestones
LLD Practice
A 30-day sprint through the canonical low-level-design problems. Patterns first, then applied "design X" exercises. End able to walk through a parking lot, ticketing system, or game design with implementation and tradeoff notes.
Outcome: Build the design-rounds muscle: model state and behaviour explicitly, justify every class boundary.
How to work this roadmap
Treat each milestone as a claim that must be supported by evidence. Before reading, write what you think the mechanism does and where it will fail. After studying the linked concepts, run the drills without copying an answer, preserve the output, and revise the explanation. Move forward when you can connect the milestone goal to a working implementation, benchmark, architecture decision, or reviewable design artifact.
The 30d horizon is a sequencing aid, not a completion badge. Spend more time where your prediction and the observed behavior disagree. Keep a short decision log containing the mechanism selected, alternatives rejected, expected failure mode, measurement used, and remaining uncertainty. Review that log with FSRS prompts so the roadmap produces durable system judgment rather than a temporary tour of terminology.
At the end, explain Build the design-rounds muscle: model state and behaviour explicitly, justify every class boundary. from first principles to a reader outside the domain. A strong explanation should survive follow-up questions about correctness, cost, latency, resource use, security, recovery, and operational visibility. If it cannot, return to the milestone that contains the missing mechanism and build a smaller falsifiable example.
Milestones
Milestone 1
Days 1-7 — Modelling foundations
State, behaviour, extension points. The vocabulary every LLD problem reaches for.
Concepts
Milestone 2
Days 8-18 — Patterns in practice
The handful of patterns that earn their weight in real interviews.
Concepts
Milestone 3
Days 19-30 — Applied designs
Take the patterns into full design problems with concurrency and inventory edge cases.