Phase 7 of 9 · 6 lessons
Low-level design questions
Practise the classic LLD questions end to end: requirements, classes, patterns, the key code and concurrency.
Every LLD question tests the same skills: turning requirements into clean classes, using a pattern where something varies, and handling two users acting at once. Do each question yourself first, then compare with the notes.
Lessons, in order
-
7.1
Design a parking lot
Design the classes for a multi-floor car park that assigns spots, issues tickets and charges fees.
-
7.2
Design an elevator system
Design the classes and scheduling logic for a building's lifts.
-
7.3
Design Splitwise (expense sharing)
Design an expense-sharing app where friends split bills and can see who owes whom.
-
7.4
Design a vending machine
Design a vending machine that sells items, accepts coins and gives change.
-
7.5
Design an LRU cache
Design a fixed-size cache that removes the least recently used item when full, with get and put in O(1).
-
7.6
Design an order-matching engine (stock exchange)
Design the core of a stock exchange: an order book that matches buy and sell orders.