Low-Level Design Exercises
Standard object-oriented design problems curated to help you master class structures, design patterns, and thread-safe implementations.
Select any low-level design template below to explore detailed requirements, Entity-Relationship schemas, and full multi-language code templates.
Tic Tac Toe
Design a modular Tic Tac Toe game supporting two players on an N x N board with dynamic win-checking.
Traffic Signal
Design a Traffic Signal Controller that transitions between Red, Yellow, and Green states with dynamic durations.
Chess Clock
Design a two-player Chess Clock tracking match timing, dynamic increments (Fischer delay), and flags.
Logger
Design a log framework supporting info, debug, and error levels directing messages to console, files, or database targets.
Coffee Machine
Design a Coffee Machine controller that selects recipes, validates ingredients inventory, accepts payments, and dispenses coffee.
Vending Machine
Design a Vending Machine that transitions cleanly between states: Idle, Waiting for Coins, Dispensing, Out of Stock.
Parking Lot System
Design a multi-level parking lot that can accommodate different vehicle types, handle ticketing, and process billing dynamically.
Snake & Ladder
Design a modular Snake and Ladder board game supporting multiple players and custom board dimensions.
Library Management System
Design a library cataloging system tracking book stock, borrowing status, user fines, and custom search filters.
Cricbuzz
Design Cricbuzz/Cricinfo to display live cricket match scorecards, player statistics, and run notifications.
Restaurant
Design a Restaurant management system handling table reservations, dining orders, chef notifications, and bills.
Cache (LRU / LFU)
Design a thread-safe in-memory cache supporting eviction policies like Least Recently Used (LRU) or Least Frequently Used (LFU).
File System
Design an in-memory Directory and File management system that processes nesting structures and size computations.
Amazon Locker
Design a package delivery locker system that matches packages to available lockers, manages security PINs, and handles returns.
Online Auction System
Design an online auction platform that handles dynamic item listings, real-time bidding, and notifications.
BookMyShow (Movie Ticket Booking)
Design a movie ticket booking platform handling massive concurrent seat selection, payments, and notifications.
Splitwise (Expense Sharing App)
Design Splitwise to add expenses, share balances among friends, and optimize debt simplification.
Elevator System
Design a controller for a bank of elevators optimizing request handling, speed, and energy across multiple floors.
Chess
Design a chess engine supporting pieces behavior, move validations, board states, checkmate rules, and move rollbacks.
ATM Machine
Design an ATM controller that processes cards, verifies security PINs, updates accounts, and dispenses cash.
Hotel Management
Design a hotel management dashboard managing rooms, dynamic pricing, service bookings, and checkouts.
Uber
Design the class system for Uber/Lyft matching rider queries to optimal local drivers in real-time.
Google Docs
Design a collaborative real-time document editor class system managing operational transforms and cursor syncing.
Airline Reservation
Design an airline reservation system processing flight schedules, aircraft seats allocation, and payment locks.
WhatsApp / Chat System
Design a chat application managing real-time connections, chat history, and dynamic user statuses.
Inventory System
Design a warehouse inventory system tracking stock levels, processing order picks, and alerting low stock events.
Ride Sharing
Design a ride-sharing pool system (similar to Uber Pool) where riders share a trip and split fares dynamically.