LLD · Roadmap

Low-Level Design

Go from raw object-oriented fundamentals to designing real, interview-ready systems — modeling, UML, SOLID, every design pattern, concurrency, and a graded ladder of machine-coding problems you can actually finish under a timer.

Intermediate9 phases · 112 topics · 10–12 weeks
oopdesign-patternssolidmachine-coding

Your progress

0 / 112 topics

0%

Progress saves automatically in this browser — check topics off as you learn them.

  1. The bedrock everything else stands on. Get genuinely fluent here before reaching for patterns.

    Outcome — Model any real-world entity as well-encapsulated objects and reason clearly about how they relate.

  2. The step most people skip — turning a fuzzy prompt into the right set of classes before any code exists.

    Outcome — Translate a vague problem statement into clean entities, responsibilities, and APIs.

  3. A shared visual language so you can communicate a design — and get feedback — before writing code.

    Outcome — Sketch a system's structure and behavior in diagrams anyone on the team can read.

  4. Five principles that turn rigid, change-resistant code into designs that flex with new requirements.

    Outcome — Spot violations in existing code and refactor toward flexible, testable structures.

  5. The everyday rules of thumb that guide the hundreds of small decisions patterns don't cover.

    Outcome — Make sound, defensible design calls quickly without over-engineering.

  6. Battle-tested solutions to problems that recur in every codebase, grouped by what they're for.

    Outcome — Recognize a recurring problem on sight and reach for the right pattern (and know when not to).

    Creational

    Structural

    Behavioral

    Architectural

  7. Designing objects that stay correct when many threads touch them at the same time.

    Outcome — Reason about shared state and pick the right primitive to keep it safe and live.

  8. Where everything converges — design and code a working system in 60–90 minutes under a timer.

    Outcome — Walk into a machine-coding round and ship a clean, extensible solution on the clock.

    The approach

    Beginner

    Intermediate

    Advanced

  9. Keeping a design healthy as it grows — spotting decay early and proving the thing actually works.

    Outcome — Write code that's safe to change, and keep it that way over time.