Command Palette

Search for a command to run...

Roadmap
Phase 4Intermediate6 of 19 in the curriculum

LLD Real Problems

18 problems, from Parking Lot to LRU Cache and Pub/Sub — with production-style Java.

Every LLD problem in this phase is solved with the same method: requirements → entities → responsibilities → relationships → interfaces → SOLID → patterns → extensibility → concurrency → code → tests.

Discipline: solve the problem yourself before reading the code here. The code is a checkpoint, not a cheat sheet.

0/18 · 0%
18 topics ~3 h 22 code blocks & diagrams
Start with the first topic

Level 1

Level 2

Level 3

9

Problem 4.9 — BookMyShow (Ticket Booking)

Level 3

Seat locking, show/seat modeling, pricing by category, and the invalidation of stale holds — a Level-3 problem that combines LLD and concurrency.

8 min 1 diagram 1 code practice

10

Problem 4.10 — Food Delivery (LLD)

Level 3

Order lifecycle state machine + delivery-partner matching + notifications — the LLD version of the classic HLD.

7 min 1 code practice

11

Problem 4.11 — Ride Booking (LLD)

Level 3

Driver/rider matching, pricing (surge), trip lifecycle and the 'find nearest available driver' core.

7 min 1 code practice

12

Problem 4.12 — Notification System (LLD)

Level 3

The factory + strategy + observer showcase: channels, templates, fan-out and retries.

8 min 1 code practice

13

Problem 4.13 — Payment System (LLD)

Level 3

Where correctness is non-negotiable: payment states, idempotency keys, double-charge prevention, and the integration-seam problem.

8 min 1 diagram 1 code practice

14

Problem 4.14 — File Storage System (LLD)

Level 3

Storage abstraction, naming, chunking metadata, and access control — the LLD core under Dropbox/Drive HLDs.

8 min 1 code practice

15

Problem 4.15 — Rate Limiter (LLD)

Level 3

The bridge problem between LLD and HLD: algorithms, concurrency-safe counters, and where Redis takes over. Revisit it in Phase 12 for the distributed version.

13 min 1 code practice

16

Problem 4.16 — LRU Cache

Level 3

The most-asked LLD warm-up: `get` and `put` in O(1) with least-recently-used eviction, built from a hash map plus a doubly linked list, then made thread-safe and generic.

8 min 1 code practice

17

Problem 4.17 — Logging Framework

Level 3

Design a mini SLF4J/Logback: log levels, multiple appenders (console, file, remote), formatters, per-logger configuration, and asynchronous writing that never blocks the application.

8 min 1 code practice

18

Problem 4.18 — In-Memory Pub/Sub System

Level 3

Topics, publishers, and subscribers in one process: fan-out delivery, per-subscriber ordering, slow-consumer isolation, and offsets for replay, a small model of Kafka and Redis Pub/Sub.

8 min 1 code practice