Back to Low-Level Design
🎯
Phase 6

LLD Interview Problems

The core of LLD interview preparation. Each problem follows the same framework: gather requirements, identify actors, define use cases, design classes, apply patterns, discuss trade-offs.

1

Design a Parking Lot

A full low-level design for a multi-floor parking lot: spot assignment strategy, fee calculation, entry/exit gates, and the concurrency bugs that show up when two cars race for the same spot.

lldparking-lotstrategy-pattern
2

Design an Elevator System

Low-level design for a multi-elevator system: the SCAN scheduling algorithm, the elevator state machine, internal vs. external request handling, and priority overrides for emergencies.

lldelevatorstate-machine
3

Design Snake & Ladder

Low-level design for Snake & Ladder: board representation, snake/ladder mapping, turn management with the Observer pattern, testable dice via injection, and the overshoot edge case everyone forgets.

lldsnake-ladderboard-game
4

Design a Hotel Booking System

Low-level design for a hotel booking platform: date-range availability without double-booking, booking concurrency, strategy-based cancellation and pricing policies, and a saga-style book-pay-confirm flow.

lldhotel-bookingdate-range
5

Design Splitwise

Low-level design for a Splitwise-style expense-sharing app: split-type strategies (equal, exact, percentage, ratio), balance tracking, and the debt-simplification algorithm that minimizes settlement transactions.

lldsplitwisedebt-simplification
6

Design a Movie Ticket Booking System

A full low-level design for a BookMyShow-style movie ticket booking system: seat locking under concurrency, dynamic show pricing, and a booking state machine with TTL-based holds.

lldmovie-bookingseat-locking
7

Design Chess

A full low-level design for a chess engine: per-piece move validation via Strategy, check/checkmate detection, special moves, and undo via the Command pattern.

lldchessgame
8

Design a Logger Framework

Design a pluggable, asynchronous logging framework with multiple levels, appenders, formatters, and rotation strategies — the LLD interview walkthrough.

lldloggerframework
9

Design an ATM

Design an ATM's software: card authentication, the state machine that drives a transaction, and the denomination-dispensing algorithm — with atomicity as the central concern.

lldATMstate-machine
10

Design a Cache (LRU/LFU)

Design a fixed-size, thread-safe cache supporting O(1) get/put with pluggable LRU and LFU eviction — the classic data-structure-heavy LLD problem.

lldcacheLRU
11

Design a Rate Limiter

Design a pluggable API rate limiter — fixed window, sliding window, token bucket, and leaky bucket — with the math and edge cases behind each algorithm.

lldrate-limitertoken-bucket
12

Design a Pub-Sub System

Design an in-process message broker with topics, wildcard subscriptions, filtering, persistence, and at-least-once delivery — the LLD interview version of building Kafka/SNS, not just the Observer pattern.

lldpub-submessaging
13

Design Tic-Tac-Toe

A low-level design for Tic-Tac-Toe that generalizes to an N×N board with a K-in-a-row win condition, and an O(1)-per-move win detection algorithm instead of a full board scan.

lldtic-tac-toeboard-game
14

Design a Car Rental System

A full low-level design for a car rental platform: date-range availability checking, a reservation state machine, pricing with insurance and late fees, and damage-report handling.

lldcar-rentalreservation