Guide contents

Low-Level Design

Low-level and object-oriented design in Java: modeling domains with classes, records and sealed types, design principles, concurrency-aware components, and classic interview problems (LRU cache, parking lot, elevator, and more), worked end to end with compiled code.

31 lessons in 6 sections

Start with What Is Low-Level Design? →

Foundations and Interview Framework

What low-level design interviews test, a step-by-step framework, and how object-oriented modeling maps to Java classes, records, and sealed types.

  1. 1.What Is Low-Level Design?
  2. 2.The Low-Level Design Interview Framework
  3. 3.Modeling Domains in Java: From Nouns to Types
  4. 4.Class Diagrams and Relationships in Java

Design Principles

SOLID, encapsulation, state machines, error modeling, object graphs and references, and designing for tests.

  1. 5.SOLID Principles in Java
  2. 6.Encapsulation and Invariants in Java
  3. 7.State Machines with Sealed Types
  4. 8.Errors in Domain Design
  5. 9.Object Graphs and References
  6. 10.Testability and Dependency Injection

Concurrent Components

Thread-safe components, in-process event buses, and blocking queues.

  1. 11.Thread-Safe Components in Java
  2. 12.Event Bus and Observers in Java
  3. 13.Blocking Queue and Producer-Consumer in Java

Data-Structure-Centric Problems

Caches, key-value stores, rate limiters, loggers, and schedulers designed as reusable components.

  1. 14.Design an LRU Cache (Low-Level Design)
  2. 15.Design a Key-Value Store with TTL in Java (Low-Level Design)
  3. 16.Low-Level Design of a Rate Limiter in Java
  4. 17.Design a Logger Framework in Java (Low-Level Design)
  5. 18.Design a Task Scheduler (Low-Level Design)
  6. 19.Design a Text Editor with Undo and Redo (Low-Level Design)
  7. 20.Design an In-Memory File System in Java (Low-Level Design)

Domain Modeling Problems

Parking lot, elevator, vending machine, ATM, library, booking, and other classic object-oriented design problems.

  1. 21.Design a Parking Lot
  2. 22.Design an Elevator System
  3. 23.Design a Vending Machine in Java
  4. 24.Design an ATM in Java
  5. 25.Design a Library Management System
  6. 26.Design Tic-Tac-Toe (NxN) in Java
  7. 27.Design Splitwise (Expense Sharing) in Java
  8. 28.Design a Movie Ticket Booking System in Java
  9. 29.Design a Notification Service in Java

Cheat Sheets and Study Plan

An interview checklist and a study plan that maps patterns to problems.

  1. 30.LLD Interview Checklist
  2. 31.LLD Study Plan: A 4-Week Path Through the Course