🧩

Design Patterns & LLD

Gang of Four creational, structural, and behavioral patterns; SOLID principles applied to real code; microservice-level patterns; and the machine-coding problems (Parking Lot, Elevator, Rate Limiter) that low-level design rounds actually ask.

Creational Patterns (Java)

Behavioral Patterns (Java)

Structural Patterns (Java)

OOP Fundamentals for LLD

Machine Coding Problems

Q

Design a Chess Game — pieces, moves, turn management, check/checkmate detection.

advancedPro

Tests whether you can model a rich rule system with polymorphic piece behavior cleanly in objects.

Q

Design a task management system like Trello — boards, lists, cards, drag-and-drop ordering.

intermediatePro

Tests whether you can model a nested hierarchy with ordering that needs to stay consistent as items move around.

Q

Design a Logger Framework — log levels, multiple appenders (console, file, remote).

intermediatePro

Tests whether you know how to design a pluggable appender architecture that's easy to extend without modifying existing code.

Q

Design a text editor with undo/redo support.

advancedPro

Tests whether you know the Command pattern is the natural fit for reversible, replayable operations.

Q

Design a Circuit Breaker component from scratch — CLOSED, OPEN, HALF-OPEN state machine.

advancedPro

Tests whether you can implement the actual state transitions and thresholds, not just describe the pattern.

Q

Design a Restaurant Reservation System — tables, time slots, party size, conflict prevention.

advancedPro

Tests whether you can handle overlapping-interval conflict checks and thread-safe booking cleanly.

Q

Design the classic Snake Game — grid, movement, food, collision detection, growth.

intermediatePro

Tests whether you can model game state and collision logic cleanly with simple data structures.

Q

Design a Concurrent HashMap from scratch — how would you implement thread-safe bucket-level locking?

expertPro

Tests whether you can reason about fine-grained locking design, not just use java.util.concurrent.ConcurrentHashMap as a black box.

Q

Design a Parking Lot System — multi-floor, vehicle types, fee calculation.

beginnerPro

One of the most common machine-coding rounds — tests whether you can model entities, allocate spots, and calculate fees cleanly.

Q

Design a Vending Machine — product selection, payment, change, inventory.

beginnerPro

Tests whether you can model a state machine (idle, selecting, paying, dispensing) cleanly in object-oriented code.

Q

Design an Elevator System — single elevator, request queue, floor movement.

intermediatePro

Tests whether you can design a request-scheduling algorithm and represent elevator state correctly.

Q

Design a Movie Ticket Booking System (Bookmyshow) — seats, shows, booking.

intermediatePro

Tests whether you can model seats, shows, and concurrent booking without double-allocating the same seat.

Q

Design a Splitwise / Expense Sharing App.

advancedPro

Tests whether you can model balances between multiple users and simplify debts efficiently.

Q

Design an In-Memory Rate Limiter — Token Bucket, Sliding Window algorithms.

intermediatePro

Tests whether you can implement at least one real rate-limiting algorithm correctly, not just name it.

Q

Design a Payment Gateway — multiple providers, retry, refund, idempotency.

advancedPro

Tests whether you can design around provider abstraction, safe retries, and idempotent payment processing.