Uber SDE 3 Phone Screen Interview Experience: Meeting Room Scheduler
Question Details
Problem Statement Design an API to manage meeting schedules for a predefined set of conference rooms. The system requires a method scheduleMeeting(startTime, endTime) that performs the following
Full Details
Problem Statement Design an API to manage meeting schedules for a predefined set of conference rooms. The system requires a method scheduleMeeting(startTime, endTime) that performs the following logic: 1. Identify an available room for the specified time interval. 2. Reserve the room and return its identifier. 3. Throw an error if all rooms are occupied during the requested time.
Example Scenario Assuming a building has 3 conference rooms and accepts Unix timestamps or integers: * scheduleMeeting(1647718624, 1647718731): Assigns Room 1. * scheduleMeeting(1647718624, 1647718931): Assigns Room 2 (concurrent start). * scheduleMeeting(1647718624, 1647718431): Assigns Room 3 (concurrent start). * scheduleMeeting(1647718624, 1647768731): Throws Error (all rooms occupied). * scheduleMeeting(1647718732, 1647728789): Assigns Room 1 (previous meeting ended).
Technical Constraints *
Expected Time Complexity: $O(\log(\text{meetings}) + \text{rooms})$. *
Reference: This logic is similar to LeetCode problem "Range Module," adapted for multiple concurrent resources.
About This Question
This is a reported interview question from a uber interview for a swe role during the phone screen round reported in 2025.
It covers the following topics: System Design .