-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Interview Coding Challenge: Meeting Scheduler
Objective: Design and implement a Meeting Scheduler that can efficiently allocate available meeting rooms based on user requirements while handling conflicts and constraints.
Company: Uber (Source)
Problem Overview
You're tasked with creating a system where users can book meeting rooms. Given the dynamics and uncertain nature of meetings, the system should be flexible yet robust.
Requirements
-
Multiple Meeting Rooms: The system should be designed to manage multiple meeting rooms.
-
Flexible Timing: A meeting room can be booked at any given time during the day. There is no constraint on the starting or ending times.
-
Variable Duration: Meetings can be of varied durations, from as short as 30 minutes to longer durations like 2 hours or more.
-
Conflict Management:
- If a room is already booked for a particular slot, the system should provide an informative error message.
- Ensure that double-booking does not occur.
-
End Goal: By the end of the interview, you should have a working code that aligns with all the given constraints and can demonstrate the functionality of the Meeting Scheduler.
Evaluation Criteria
Your solution will be evaluated on:
- Functionality: Does the solution satisfy the given constraints and requirements?
- Efficiency: How well does the system handle back-to-back booking scenarios or high-demand periods?
- Code Structure and Organization: Is the code logically structured, and are components/modules well-defined?
- Error Handling: How gracefully does the system handle conflicts and potential issues?
- User Experience: How easy and intuitive is it for a user to book a meeting room?