PracHub
QuestionsCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Uber

Design a meeting room reservation API

Last updated: Jun 4, 2026

Quick Overview

This question evaluates a candidate's object-oriented design and algorithmic competence for building an in-memory meeting room reservation API, focusing on interval management, availability checking, and scalable data structures.

  • medium
  • Uber
  • Software Engineering Fundamentals
  • Software Engineer

Design a meeting room reservation API

Company: Uber

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

## Meeting room reservation (OOD) You are designing a small in-memory **meeting reservation system**. ### Requirements - The system starts with **N meeting rooms** (e.g., `rooms = ["A", "B", "C"]`). - Implement a booking method that receives a **start time** and **end time** for a meeting. - If there exists **any room** that is **available for the entire interval** `[start, end)` (end is non-inclusive), the system should: - reserve that room for the interval - return a **unique `meetingId`** representing the booking - If **no room** is available for that time interval, the method should **throw an exception** (or return an error). ### Clarifications / assumptions (you may state these in your design) - Time can be represented as integers (e.g., minutes since epoch). - `start < end` is guaranteed. - A meeting overlaps another if their half-open intervals intersect. - The solution should be reasonably efficient as the number of rooms and reservations grows. ### What to produce - The main classes / data structures you would create. - The `book(start, end) -> meetingId` API behavior. - How you check availability and store reservations. - Expected time/space complexity. - (Optional, if you choose) how you would support `cancel(meetingId)` and/or querying room schedules.

Quick Answer: This question evaluates a candidate's object-oriented design and algorithmic competence for building an in-memory meeting room reservation API, focusing on interval management, availability checking, and scalable data structures.

Related Interview Questions

  • Build a React Parking Lot Manager - Uber (medium)
  • Design a Real-Time Top-K Ranking System - Uber (hard)
  • Design a Parking Lot - Uber (medium)
  • Design a Parking Garage Object Model - Uber (medium)
  • Design follow/follower classes - Uber (medium)
|Home/Software Engineering Fundamentals/Uber

Design a meeting room reservation API

Uber logo
Uber
Feb 12, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
20
0
Loading...

Meeting room reservation (OOD)

You are designing a small in-memory meeting reservation system.

Requirements

  • The system starts with N meeting rooms (e.g., rooms = ["A", "B", "C"] ).
  • Implement a booking method that receives a start time and end time for a meeting.
  • If there exists any room that is available for the entire interval [start, end) (end is non-inclusive), the system should:
    • reserve that room for the interval
    • return a unique meetingId representing the booking
  • If no room is available for that time interval, the method should throw an exception (or return an error).

Clarifications / assumptions (you may state these in your design)

  • Time can be represented as integers (e.g., minutes since epoch).
  • start < end is guaranteed.
  • A meeting overlaps another if their half-open intervals intersect.
  • The solution should be reasonably efficient as the number of rooms and reservations grows.

What to produce

  • The main classes / data structures you would create.
  • The book(start, end) -> meetingId API behavior.
  • How you check availability and store reservations.
  • Expected time/space complexity.
  • (Optional, if you choose) how you would support cancel(meetingId) and/or querying room schedules.
Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Uber•More Software Engineer•Uber Software Engineer•Uber 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 8,000+ real questions from top companies.

Product

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

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.