Low-Level Design (LLD)
Level 5 — OOP, SOLID and design patterns, with the patterns your codebases already use, plus classic LLD exercises.
- OOP & SOLID
The four OOP pillars and the five SOLID principles, each with the one-sentence test an interviewer is listening for and a concrete code smell it fixes.
OOPSOLIDdesign-principles - Design Patterns That Actually Come Up
The creational/structural/behavioral patterns worth knowing cold, each with its one-line intent and the situation that calls for it — plus Strategy and Observer in code.
design-patternsGoFbehavioral - Design Patterns in DepthCore
The second tier of must-know patterns — Factory, Builder, Adapter, Decorator, Composite, Command, Chain of Responsibility — each with the problem it kills and where you already use it.
LLDdesign-patternscreationalstructuralbehavioral - Patterns In My Codebases
The 'did you use design patterns?' question, answered with real examples — the source registry, the middleware chain, the alert worker, the pricing engine, and graceful-degradation strategies.
design-patternsappliedprojects - API Design
REST resource modeling, which verbs are idempotent and why it matters, status codes, cursor vs offset pagination, versioning, and idempotency keys for safe retries.
APIRESTidempotencypagination - Design a Parking LotClassic
The classic object-modeling round. How to scope it, the entities and their relationships, where Strategy fits for spot assignment, and the extensibility follow-ups.
LLDOODclass-design - Design a Vending MachineClassic
The State-pattern LLD classic: model states (idle → has-money → dispensing) instead of a status flag, make change correctly, handle sold-out and refunds, and survive the if/else explosion that sinks most candidates.
LLDstate-patternstrategy-patternoop - Design Tic-Tac-Toe (extensible to N-in-a-row)Classic
A board-game LLD that rewards extensibility: clean Board/Player/Game classes, O(1) win detection with running counters instead of rescanning, and a Strategy seam so the same design scales to Connect-4 and Gomoku.
LLDoopgamestrategy-pattern - Design an Elevator SystemClassic
The state-machine classic: elevator states, the SCAN scheduling insight, Strategy for dispatch, and the multi-elevator follow-ups.
LLDOODstate-patternscheduling - Design an ATMClassic
The state-machine showcase — card, PIN, menu, dispense — plus the question that matters: debit first or dispense first?
LLDOODstate-patternconsistency - Design an LRU CacheClassic
The canonical LLD coding question: O(1) get and put with a hash map + doubly linked list. Full implementation, the why, and the follow-ups (thread-safety, TTL, LFU).
LLDdata-structurescache - Design a Library Management SystemClassic
The gentle classic that tests one big idea: a Book is not a BookCopy. Catalog vs inventory, loans, reservations and fines.
LLDOODentity-modeling - Design SplitwiseClassic
Expense modeling with Strategy for split types, the balance-sheet invariant, and the debt-simplification algorithm everyone gets asked.
LLDOODstrategy-patterngraphs - Design a Meeting Scheduler / CalendarClassic
Interval management as LLD: detect conflicts, assign the minimum number of rooms with a sweep-line heap, and extend to recurring events, attendee free-slot intersection, and concurrent double-booking. Maps to LeetCode 253 / My Calendar.
LLDoopintervalsheap - Design an In-Memory File SystemClassic
The Composite-pattern LLD: model files and directories as one Node tree so ls/mkdir/read/write traverse uniformly, then extend to search, permissions, and thread-safety. Maps to LeetCode 588.
LLDoopcomposite-patterntree - Design BookMyShowClassic
Movie ticket booking: the entity ladder from City to Seat, seat-lock with TTL, and the double-booking race — the LLD where concurrency IS the question.
LLDOODconcurrencybooking - Design a Notification SystemClassic
The system every company actually builds: multi-channel delivery, templates, preferences, retries, dedup — and the patterns earning their keep together.
LLDOODpatternsasync - Design a Payment Retry SystemCore
The retry round payments teams love: a retry state machine, idempotency across attempts, exponential backoff with jitter, non-retryable vs transient failures, and a dead-letter queue — with clean OOP boundaries.
LLDpaymentsidempotencyretriesstate-machine - Design a Chat System (WhatsApp LLD)Classic
The object design under the messaging giant: conversations, the message delivery state machine, local-first storage, and sync after offline.
LLDOODstate-machinesync - Design Uber (LLD)Classic
The trip as a state machine, fare calculation as composable strategies, matching behind an interface — the class design beneath the geospatial giant.
LLDOODstate-machinestrategy