Learn LLD by building,
one question at a time.
A personal knowledge base for low-level design problems, design patterns, tradeoffs, Java code, and lessons learned while practicing.
Questions
6
Language
Java
Practice index
LLD Questions
Each question includes requirements, entities, design patterns, important Java snippets, what I learned, and future improvements.
Medium
Parking Lot
Design a parking lot with floors, typed spots, vehicle allocation, ticketing, and fee calculation.
Medium
Vending Machine
Design a vending machine with inventory, payments, item selection, dispensing, and change return.
Hard
Elevator System
Design an elevator system with a building, multiple elevators, external floor requests, internal button presses, and a score-based dispatcher.
Easy
Tic Tac Toe
Design a two-player Tic Tac Toe game with configurable board size, win detection via a pluggable strategy, move history, and draw detection.
Hard
Splitwise
Design a bill-splitting app that supports equal, exact, and percentage splits, tracks a balance ledger, and simplifies debts using a greedy min-cash-flow algorithm.
Medium
Hotel Management System
Design a hotel booking system with room types, guests, date-range availability checks, double-booking prevention, check-in/check-out lifecycle, and invoice generation.