Low-level design practice
Low-Level Design and Object-Oriented Design Interview Questions
Practice turning requirements into clear objects, interfaces, interactions, and extensible implementations with guided low-level design exercises.
Recently updated practice
Start with a guided exercise
These recently observed catalog entries show the full guided format. Company tags and dates reflect the public catalog; they do not guarantee a company's current interview process.
Design a Package Delivery Assignment Domain
Model package assignment, delivery attempts, priority handling, and replaceable agent selection.
AmazonCatalog signal Oct 202650 min4 checkpointsMid-levelDesign a Delivery Slot Booking Domain
Model delivery-slot capacity, expiring holds, confirmation, cancellation, and concurrent booking outcomes.
AmazonCatalog signal Oct 202650 min4 checkpointsMid-levelDesign a Shared Expense Splitting Service
Model groups, expenses, exact split strategies, immutable postings, balances, and valid versus minimum-transaction settlement plans.
NykaaNaviCatalog signal Oct 202668 min5 checkpointsJunior, Mid-level, SeniorDesign a WAL-Backed Batch Log Writer
Design an in-process log writer that durably commits ordered record batches, survives crashes, and handles concurrent clients safely.
DatabricksCatalog signal Oct 202655 min4 checkpointsJunior, Mid-level, SeniorDesign and Implement Shared and Weak Ownership Pointers
Model reference-counted resource ownership with copy, move, weak observation, custom cleanup, and safe control-block lifetime.
AdobeCatalog signal Oct 202660 min5 checkpointsMid-level, SeniorDesign and Repair a Thread-Safe Configuration Singleton
Diagnose unsafe lazy initialization and implement one safely published configuration instance per application class-loader context within one JVM.
Globalization PartnersCoupa SoftwareCatalog signal Oct 202650 min5 checkpointsMid-levelDesign a Multi-Floor Parking Lot
Model a parking lot that assigns an appropriate available spot and produces a parking ticket.
AmazonGoldman SachsCatalog signal Oct 202645 min4 checkpointsMid-levelDesign an LRU Cache Object Model
Model a bounded key/value cache with exact access-based eviction, focused contracts and a capacity-resize follow-up.
OracleCatalog signal Oct 202645 min4 checkpointsJunior, Mid-level, SeniorDesign and Implement a Multi-Entrance Parking Lot
Allocate the nearest compatible spot across several entrances while preventing duplicate parking and releasing spots safely.
SentryAmazonCatalog signal Oct 202660 min5 checkpointsMid-levelDesign and Implement a Shopping Cart Price Calculator
Design and implement a price-calculator API for a cart of product identifiers, extensible discount rules, and scale-focused lookup optimizations.
AmazonGrowwCatalog signal Oct 202650 min5 checkpointsJuniorDesign a Bounded Flash Logging Buffer
Collect concurrent module logs, batch them into a fixed flash partition, recover after interruption, and expose deterministic overwrite behavior.
AmazonCatalog signal Oct 202652 min4 checkpointsMid-level, SeniorDesign a Persistent Chronological Social Feed
Model users, posts, follows, and an indexed durable feed that returns the newest eligible posts deterministically.
OktaCatalog signal Oct 202652 min4 checkpointsMid-level, Senior
Complete public index
Browse every exercise by primary topic
All 180 titles below link directly to a guided exercise. The compact index keeps the complete library discoverable without turning this page into an oversized copy of every problem briefing.
Object Modeling
95- Design and Implement Shared and Weak Ownership Pointers
- Design an LRU Cache Object Model
- Design a Bounded Flash Logging Buffer
- Design a Persistent Chronological Social Feed
- Design an Order and Inventory Coordination Domain
- Design a Crypto Order Matching Engine
- Design a Workspace Notification Policy Domain
- Design a Delivery Estimation Domain
- Design an Event Registration Domain
- Design and Implement a Hash Map
- Design and Implement an Attack-Path Graph Domain
- Design and Implement a Social News Feed Domain
- Design and Implement a Shared Expense Tracker
- Design and Implement Partner Slot Routing
- Design and Implement a To-Do Workflow Application
- Design an Extensible Financial Account with Charges and Tax
- Design Collaborative Versioned File Storage
- Design Recurring Meeting-Room Booking
- Design a Pizza Ordering Domain
- Design and Implement an Extensible Order Sales Counter
- Design a Document Find Session
- Design and Implement a TTL Cache Library
- Design a Showroom Vehicle Booking and Loan Workflow
- Design and Implement a Structured Content Query Library
- Design Usage Billing for One Account
- Design an Extensible Shipping Cost Calculator
- Design an Ordered Canvas Operation Coordinator
- Design and Implement an In-Memory Order Book
- Design a Rental Product Circulation Domain
- Design a Ride-Hailing Class Model
- Allocate And Release Brokerage Inventory
- Design a Chess Move Validation Model
- List Failed And TTL-Expired Pending Payments
- Design a Threshold Logging and Alerting Model
- Ludo Game Object Model
- Design an Authentication Session Lifecycle
- Design a Connect Four Game
- Design a Job Marketplace Domain
- Design and Implement Movie Theater Ticket Pricing
- Design and Implement a Flight Status Notification Center
- Desktop Notification Center
- Design a Cash Register with Inventory and Profit Tracking
- Design a Database Partition Split-and-Merge Manager
- Refactor a Cache for Pluggable Eviction Policies
- Design Student Room Preference Allocation
- Design an Advertising Campaign Metrics Tracker
- Design a Thread-Safe In-Memory Workflow Orchestrator
- Design and Implement a Doubly Linked List
- Design a Standard Deck with Shuffle and Sort
- Design a Business KYC Verification Domain
- Design and Implement an ATM Machine
- Design a Flight Offer Aggregator
- Design a Wordle Game Round
- Design a Feature Configuration Personalization Service
- Design Contact Sync and Prospective User Discovery
- Design Booking Comments and Administrative Updates
- Design a Versioned Laboratory Notebook
- Design a Payments and Cards Domain
- Design an In-Memory Hotel Reservation System
- Design an Intersection Traffic-Light Controller
- Design and Implement an In-Memory Relational Database Engine
- Design and Implement a Fair Event Registration Queue
- Design a Discussion Forum with Posts and Votes
- Warehouse Order Transit Tracking
- Design a Threaded Comment System with User Tags
- Design an Annotated Comment Thread System
- Design a Dating Application
- Design a Location-Aware Dating Application
- Design a Recurring Grocery Subscription Domain
- Design and Implement a Meeting-Room Scheduler
- Design and Implement a Trie Search Index
- Design a Property Listing Service
- Design a Ticket Resale Marketplace
- Design Undo Delete for Shared Collections
- Design Undoable Deletion for API Collections
- Design and Implement a Path-Value File System
- Design a Flight Booking Orchestrator
- Design a Kafka-Like Distributed Queue
- Design a Configurable Robot Arm
- Design a Restaurant Catalog Management Service
- Design and Implement a Task and Worker Assignment Model
- Design a Ticketed Parking Lot with Defragmentation
- Design Enterprise Background-Check Rule Storage
- Design a Priority and Arrival-Time Scheduler
- Design a Single-Branch Car Rental
- Template and Instance Override Model
- Review and Redesign a Shape Controller
- Design a Motor-Vehicle Record Rule Engine
- Design Stock Watchlists with Custom Constraints
- Design and Implement a Thread-Safe LRU Cache
- Design a Dynamic Phonebook with Autocomplete
- Design an iPod-Style Music Player
- Design an Ordered Document and Page Model
- Design an Abstract Car Class
- Design an Incremental Lattice Coverage Tracker
Concurrency
51- Design a Package Delivery Assignment Domain
- Design a Delivery Slot Booking Domain
- Design a WAL-Backed Batch Log Writer
- Design and Repair a Thread-Safe Configuration Singleton
- Design and Implement a Multi-Entrance Parking Lot
- Design a Participant Meeting Scheduler
- Design a Movie Ticket Booking Platform
- Design a Movie Ticket Booking System
- Design an In-Memory Action Rate Limiter
- Design and Implement a Per-User Rate Limiter
- Design a TTL-Aware LRU Cache
- Design a Concurrent Multi-Producer Multi-Consumer Queue
- Design and Implement a Concurrent Priority Task Scheduler
- Design and Implement a Thread-Safe In-Memory Task Queue
- Design an In-Memory File System
- Design and Implement a Parking Lot
- Design a Brokerage Order Processing Domain
- Design a Payment Transaction State Machine
- Design an Elevator Control System
- Design a Configurable Logging Framework
- Design a Thread-Safe Queryable Logger Library
- Design an In-Memory Publish-Subscribe Library
- Design and Implement a Parameterized Configuration Library
- Design a Thread-Safe One-Dimensional Parking Lot
- Design an In-Memory Job Scheduler
- Design and Implement a Concurrency-Safe Wallet
- Design a Return Drop-Store Booking System
- Design a Cross-Exchange Arbitrage Engine
- Design an Inventory Stock Control Domain
- Design and Implement a Concurrent Web Crawler Library
- Design and Implement a Streaming Median API
- Design and Implement Ride Dispatch and Trip Lifecycle
- Design and Implement an Active-Passive Key-Value Store
- Design an In-Memory Read-Through Cache
- Design a Multi-Stage Audio Buffer Pipeline
- Design a Library Circulation System
- Design a Promotion Display Decision Engine
- Design a Locking Key-Value Store with Batch Writes
- Shared-Memory Single-Writer Single-Reader Channel
- Design Music Search, Playlists, and Playback
- Design and Implement an In-Memory Tally Service
- Design and Implement a Pluggable Notification Rate Limiter
- Design and Implement a Random-Access FIFO Queue
- Design and Implement a Progressive Banking System
- Design an O(1) Randomized Set
- Design Tagged Gift Shop Search
- Design and Implement a Thread-Safe Delayed Task Runner
- Concurrent Sorted-Stream Merger
- Design and Implement a Playlist Management Domain
- Asynchronous TCP Message Channel
- Air Traffic Control System
Extensibility
17- Design a Multi-Floor Parking Lot
- Design and Implement a Shopping Cart Price Calculator
- Design and Implement a Terminal Battleship Game
- Design a Food Delivery Order Domain
- Design a Multi-Channel Bot Notification Service
- Design a Workflow Orchestrator Domain
- Design and Implement an Extensible Three-Card Hand Evaluator
- Design an Extensible Multi-Channel Alerting Platform
- Design File-System Search with Symlink Safety
- Design a Parking Lot with Flexible Fees
- Design an Extensible Text Editor
- Design a Blackjack Table Game
- Design Infinite Scroll for Mutable Data
- Design a Rectangular Jigsaw Puzzle
- Design a Dimmer and Connected Bulbs System
- Design and Implement a Dependency-Aware Package Manager
- Design a Calendar Availability Scheduler
Interfaces
9- Design a Deck, Hand, and Dealer
- Design Network-Backed Search Suggestions
- Design a To-do List with External Completion Status
- Design and Implement an Immutable Customer Profile
- Design a Pluggable Random Value Library
- Design and Implement a Highway Toll Session Domain
- Design and Implement a Sliding Window Maximum API
- Design a Bookshelf with Reading Progress
- Design a Social Feed Read API
Design Patterns
8- Design a Shared Expense Splitting Service
- Design a Restaurant Ordering Domain
- Design Movie Subscription Pricing
- Design a Configurable Point-Cloud Transformation Pipeline
- Design a Playlist Source Mixer
- Design and Implement a Train Route Fare Calculator
- Design and Implement a Streaming Log Handler
- Design an Extensible Role-Based Access Control System
Questions about the library
How to use this practice collection
- What is covered in the low-level design library?
- The current public library contains 180 guided exercises spanning object modeling, interfaces, design patterns, extensibility, state management, concurrency, and testing.
- Is low-level design the same as object-oriented design?
- They overlap heavily in software engineering interviews. These exercises emphasize clear object responsibilities, interfaces, interactions, extension points, and implementation tradeoffs rather than large distributed-system architecture.
- How should I practice an LLD interview question?
- Start with requirements and constraints, identify the core objects, define interfaces and interactions, then explain how the model changes under a new requirement. Use code only after the design boundaries are clear.