Design an elevator system
PremiumLow-level designHard
- Elevator scheduling
- State machine
- Strategy pattern
Quick answer
This low-level design interview question asks you to design an elevator system. Aim for a design that is modelled as clear classes, interfaces and relationships that can handle new requirements without a rewrite. Interviewers want to see how you name responsibilities, keep classes small and reason about change.
The problem
Elevator system low level design (LLD): build the object model for an office tower's elevators, 6 cars serving 40 floors. A controller assigns each hall call to a car, and each car moves, stops and opens its doors safely. The hard parts are the car state machine, the dispatch rule and one control loop per car.
A rider presses an up or down button on a floor (a hall call) and, once inside, presses a floor button (a car call). A controller decides which car answers each hall call, and each car moves, stops, opens its doors and closes them while respecting its weight limit and emergency rules.
What must an elevator system do?
- Hall calls: Every floor has an up and a down button (the top floor has only down, the ground floor only up). A hall call is served when any car stops at that floor moving in that direction.
- Car calls: Inside a car, a rider presses a destination floor. The car must stop there in its current direction of travel.
How well must it do it?
- Safe: A car never moves with doors open and never passes a floor where it should stop. Every state change must be checked by one place in the code.
- Responsive: A hall call must be assigned within 100 ms, even though every car runs its own control loop in its own thread.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- Elevator scheduling
- State machine
- Strategy pattern
- SCAN algorithm
- Observer pattern
- Concurrency
How you’ll practise
- Requirements
- Core objects
- Class relationships
- Key flows
- Extensibility
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any low-level design round.
- Lists the use cases before writing classes
- Gives each class one clear responsibility
- Uses interfaces where behaviour is likely to change
- Applies a design pattern only when it solves a real problem
- Handles edge cases and invalid states explicitly
- Walks through one use case end to end with the model
Questions people ask about this interview question
- Which design type is this question?
- It is a low-level design question. You design an elevator system and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Hard. It suits engineers preparing for senior interviews, where you are expected to drive the discussion and go deep on trade-offs.
- What should I cover first?
- Start with the use cases and the core entities, then the responsibilities of each one. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
Updated · Written by the SevyDevy team