Command Palette

Search for a command to run...

System Design Academy · Java / Spring

System design,
from first principles to production.

From “what is a server?” to consensus and storage engines: 19 phases, 221 topics, 18 LLD problems and 39 HLD systems, each labelled Beginner, Intermediate, or Advanced. Every topic starts with a real-life analogy and ends the same way: explain it without notes, implement it, break it, and state the trade-off.

Phases
19
Topics
221
LLD problems
18
HLD systems
39

The method

The Learning Loop

Apply it on every topic →
  1. 01

    Learn

    Study the concept with the tutorial open.

  2. 02

    Close the tutorial

    Put the notes away.

  3. 03

    Explain without notes

    Teach it out loud — this is the pass/fail gate.

  4. 04

    Implement

    Write the code from the design, not from memory of the sample.

  5. 05

    Break it

    Change a requirement and watch which seams exist.

  6. 06

    Fix it

    Every break reveals a missing abstraction or test.

  7. 07

    Explain trade-offs

    State the cost of your choices out loud.

Curriculum

The roadmap, in six parts

Full roadmap with progress →
04

HLD · Distributed

Where should I start?

Pick a path for your goal

Interview in 4–6 weeks

You know the basics and need to perform in LLD and HLD rounds.

  1. 10 · System Design Mindset
  2. 23 · LLD Foundations
  3. 34 · LLD Real Problems
  4. 46B · API Design & Identity
  5. 58 · Database Scaling
  6. 69 · Scalability
  7. 710 · Caching + Messaging
  8. 812 · HLD Real Systems
  9. 915 · Interview Mastery

Do the top 10 systems in Phase 12 and time yourself with the templates.

Go deep (senior → staff)

You design real systems and want the internals and the production reality.

  1. 15 · Concurrency for LLD
  2. 211 · Microservices Architecture
  3. 313 · Advanced Distributed Systems
  4. 413B · Data-Intensive Building Blocks
  5. 514 · Production Architecture
  6. 612 · HLD Real Systems

Pair each topic with its 'Run it in production' links into the DevOps courses.

Design it here, run it there

From whiteboard to production

Every design idea in this course has a hands-on twin in the DevOps courses. Caching becomes Redis you tune and fail over, queues become Kafka you operate, load balancers become Nginx you configure, and reliability becomes SLOs and on-call. Look for the Run it in production section at the end of each topic.

Week one

Your first 10 study sessions

  1. 01System Design Fundamentals
  2. 02OOP relationships
  3. 03SOLID
  4. 04UML + object responsibilities
  5. 05Factory + Builder
  6. 06Strategy + Observer
  7. 07Adapter + Decorator
  8. 08State + Command
  9. 09LLD: Parking Lot
  10. 10LLD: Vending Machine
Open the full plan →

The templates

One process, any interview

HLD — the 13-step answer

  1. 01Requirements — Functional + non-functional, written down. Ask the 8 questions from Phase 0.
  2. 02Scale estimation — QPS, peak, storage, bandwidth, memory — order-of-magnitude math.
  3. 03APIs — Verbs, paths, request/response shapes, status codes.
  4. 04Data model — Core tables + access patterns + consistency budget per path.
  5. 05High-level architecture — Clients, LB, services, data stores, queues, caches, CDN.

…and 8 more, with the LLD counterpart.

See both templates →

The ₹0 resource stack

  • →System Design Primer— LLD + HLD practice
  • →Code-N-Code Java Design Patterns— LLD – Java design patterns
  • →AlgoMaster — Awesome System Design Resources— HLD concepts
  • →Your own Java / Spring Boot projects— Java implementation
  • →Refactoring.Guru Design Patterns— Pattern reference
Open the resource stack →