PracHub
QuestionsLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Amazon

Design object model for an elevator system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates object-oriented design and system-architecture skills for modeling a multi-elevator control system, including class responsibilities, interactions, request flow, and scheduling policies.

  • medium
  • Amazon
  • Software Engineering Fundamentals
  • Software Engineer

Design object model for an elevator system

Company: Amazon

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

Design the object-oriented model for an elevator (lift) system in a multi-floor building that may have **multiple elevators**. The system should support: - **External requests**: people on each floor can press Up/Down call buttons. - **Internal requests**: passengers inside the elevator can select a destination floor. - An elevator can move up/down, open/close doors, and stop at requested floors. - A **scheduler/controller** decides which elevator should handle which requests (especially when there are multiple elevators). **Tasks** 1. Identify and describe the **main classes**, their responsibilities, and relationships. Examples might include: `Elevator`, `ElevatorController`, `Floor`, `Request`, `Button`, etc. 2. Explain how the system handles **request flow** end-to-end: - A user presses an Up/Down button on a floor. - An elevator is assigned and moves to that floor. - The user selects a destination floor inside the elevator. - The elevator services multiple requests while moving. 3. Propose a **scheduling strategy** (algorithm) for choosing which elevator should handle new requests (at a high level, not full code). Discuss how it works in typical scenarios (e.g., many people going up in rush hour). 4. Discuss how your design can handle **edge cases and extensions**, such as: - Elevators going into maintenance mode. - Overload (too many people inside). - Emergency stop or fire mode. - Adding more elevators or floors in the future. You may use UML-style notation or plain text descriptions for classes and interactions.

Quick Answer: This question evaluates object-oriented design and system-architecture skills for modeling a multi-elevator control system, including class responsibilities, interactions, request flow, and scheduling policies.

Related Interview Questions

  • Explain BIOS and UEFI Firmware Mechanisms - Amazon (hard)
  • Design a File Searcher With Symbolic Links - Amazon (medium)
  • Design a Concurrent Restaurant Waitlist and Seating System - Amazon (easy)
  • Implement an Accessible Autocomplete Search Component - Amazon (medium)
  • Debug Watch List Movie Operations - Amazon (medium)
|Home/Software Engineering Fundamentals/Amazon

Design object model for an elevator system

Amazon logo
Amazon
Oct 31, 2025, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
10
0

Design the object-oriented model for an elevator (lift) system in a multi-floor building that may have multiple elevators.

The system should support:

  • External requests : people on each floor can press Up/Down call buttons.
  • Internal requests : passengers inside the elevator can select a destination floor.
  • An elevator can move up/down, open/close doors, and stop at requested floors.
  • A scheduler/controller decides which elevator should handle which requests (especially when there are multiple elevators).

Tasks

  1. Identify and describe the main classes , their responsibilities, and relationships. Examples might include: Elevator , ElevatorController , Floor , Request , Button , etc.
  2. Explain how the system handles request flow end-to-end:
    • A user presses an Up/Down button on a floor.
    • An elevator is assigned and moves to that floor.
    • The user selects a destination floor inside the elevator.
    • The elevator services multiple requests while moving.
  3. Propose a scheduling strategy (algorithm) for choosing which elevator should handle new requests (at a high level, not full code). Discuss how it works in typical scenarios (e.g., many people going up in rush hour).
  4. Discuss how your design can handle edge cases and extensions , such as:
    • Elevators going into maintenance mode.
    • Overload (too many people inside).
    • Emergency stop or fire mode.
    • Adding more elevators or floors in the future.

You may use UML-style notation or plain text descriptions for classes and interactions.

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Amazon•More Software Engineer•Amazon Software Engineer•Amazon Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals

Write your answer

Your first approved answer each day earns 20 XP.

Sign in to write your answer.
PracHub

Master your tech interviews with 9,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.