Low-Level Design (LLD) Practice Problems
Practice the machine coding / low-level design round by building real systems. Each problem gives you a contract interface; your implementation is compiled, run in an isolated container wired to real infrastructure, and scored on functional correctness, performance and code quality.
New to LLD? Start with the low-level design roadmap, then the machine coding round guide and the AI-enabled coding interview guide.
Easy LLD problems
- Build a Retry Engine with Exponential Backoff — Network calls fail. Databases go down temporarily. External APIs hit rate limits. In production systems, transient failures are the norm, not the exception. A…
- Build an Employee Management System (In-Memory) — Every enterprise application needs an employee management layer. In this challenge you will build one that runs entirely in memory — no database, no Redis, no…
Medium LLD problems
- Build a Circuit Breaker — In distributed systems a single failing downstream service can bring down the entire call chain. A circuit breaker sits between a caller and a service, monitor…
- Build a Parking Lot System — A parking lot is one of the most classic Low-Level Design problems. It tests your ability to model real-world entities (floors, spots, vehicles, tickets), hand…
- Build a Priority Task Queue — Task queues are fundamental building blocks of distributed systems. They decouple producers from consumers, smooth out traffic spikes, and enable reliable back…
- Build a Sliding Window Rate Limiter — Rate limiting is a critical component of any production system. It protects services from being overwhelmed by too many requests — whether from a single abusiv…
- Build an LRU Cache — Caches are everywhere — from CPU L1/L2 caches to CDN edge caches to application-level in-memory stores. A cache with a Least Recently Used (LRU) eviction polic…
Hard LLD problems
- Build a Cab Booking System — Ride-hailing platforms like Uber, Ola, and Lyft connect riders with nearby drivers in real time. At the core of every such platform lies a booking engine that…
- Build a Load Balancer — Load balancing is one of the most fundamental patterns in distributed systems. A load balancer distributes incoming requests across multiple backend servers to…
- Build a Railway Reservation System — Build a railway reservation system that supports: Seat booking with berth preference RAC (Reservation Against Cancellation) Waiting List management Ticket canc…
- Build a URL Shortener — URL shortening is a classic system design problem and a fundamental service used across the internet. Services like bit.ly and tinyurl.com convert long, unwiel…
Expert LLD problems
- Build a Deployment Pipeline Engine — Modern software delivery relies on automated deployment pipelines that orchestrate the progression of code through multiple stages — build, test, staging, and…