☕ Java Low Level Design Problems¶
A collection of 3 Low-Level Design (LLD) problems implemented in Java, following SOLID principles and design patterns — curated for backend developer interviews.
🎯 Preparing for the round itself? See the LLD Interview Playbook (language-neutral, with Java and Go concurrency equivalents).
📋 Project Index¶
| # | Project | Domain | Key Patterns |
|---|---|---|---|
| 1 | Elevator System | State Machine | State, Strategy, Observer |
| 2 | Hotel Booking System | Reservations | Strategy, Factory, Observer |
| 3 | Meeting Scheduler | Calendar | Strategy, Observer, Command |
🚀 How to Run¶
Each project is self-contained. Navigate to the project directory and compile/run:
🧩 Design Patterns Used¶
| Pattern | Usage |
|---|---|
| Strategy | Dispatching, pricing, booking policies |
| Observer | Notifications, monitoring, calendar sync |
| State | Elevator lifecycle, booking status |
| Facade | Unified service interfaces |
| Command | Request objects, undoable operations |
| Decorator | Compose pricing modifiers |
📖 Interview Preparation¶
Each project includes: - THOUGHT_PROCESS.md — Design reasoning and trade-offs - CODE.md — Implementation walkthrough with code snippets - HIGH_LEVEL_DESIGN.md — Production architecture and scale - INTERVIEW_QUESTIONS.md — Common interview questions with answers