Low Level Design (LLD) Interview Questions
18 questions
Machines & State Systems
- Design a Parking Lot
Easy
An interview sized parking lot with spot assignment, tickets and exit fees, explained simply in Java and Kotlin.
- Design a Lift System
Medium
A small lift scheduler for interviews, with floor requests, direction and a simple step simulation in Java and Kotlin.
- Design an ATM
Medium
A small ATM interview solution focused on authentication, withdrawal and known failure recovery in Java and Kotlin.
- Design a Vending Machine
Easy
A simple interview vending machine with selection, payment, purchase and cancellation in Java and Kotlin.
Games
- Design Snake and Ladder
Easy
A small Snake and Ladder interview implementation with turns, jumps and exact finish rules in Java and Kotlin.
- Design Tic Tac Toe
Easy
An interview sized Tic Tac Toe game with simple win checks, turn validation and draw detection in Java and Kotlin.
- Design Ludo
Medium
A compact Ludo interview model with token positions, legal moves, capture and exact home rules in Java and Kotlin.
- Design a Chess Game
Medium
A focused chess interview solution explaining movement, king safety and game status with Java and Kotlin code.
Booking & Marketplace
- Design a Movie Ticket Booking System
Medium
A compact cinema booking interview solution with seat holds, expiry, confirmation and cancellation in Java and Kotlin.
- Design a Food Ordering and Delivery Service
Hard
An interview sized food order with checkout validation, a fixed total and valid status changes in Java and Kotlin.
- Design Booking.com
Hard
A simple hotel booking interview solution that reserves every night together and prevents overbooking in Java and Kotlin.
- Design Uber
Hard
A simple ride matching interview solution with driver assignment and trip states in Java and Kotlin.
- Design Splitwise
Medium
A small Splitwise interview solution for equal expenses, balances and settlement using integer money amounts.
Android Components From Scratch
Build a small version of a familiar Android component. Start with its main behavior, explain who owns its state, and add extra features when asked.
- Implement your own LiveData
Medium
Build a small LiveData for an interview, with lifecycle aware observers, latest value delivery and short Java and Kotlin implementations.
- Implement your own ViewModel
Medium
A small ViewModel store for interviews, with instance reuse, rotation ownership and cleanup in Java and Kotlin.
- Implement an Event Bus
Easy
A small event bus for interviews, with subscribe, publish and unsubscribe in Java and Kotlin.
- Implement a Dependency Injection Container
Medium
An interview sized dependency injection container with factories, shared instances and cycle detection in Java and Kotlin.
Utility & Platform Services
- Design a Rate Limiter
Medium
Explain and implement one token bucket rate limiter for an interview, with a worked example and compact Java and Kotlin code.