SevyDevy

Design a meeting scheduler

PremiumLow-level designMedium

  • Interval overlap
  • Calendar systems
  • Recurrence rules

Quick answer

This low-level design interview question asks you to design a meeting scheduler. 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

Meeting scheduler low level design: build the object model for a company calendar tool, like the scheduling side of Google Calendar or Outlook, that finds slots when every attendee and a room are free, then books them. The hard parts are interval overlap, time zones, recurring series and concurrent bookings.

An organiser picks attendees, a duration and a time window; the scheduler suggests slots when everyone is free and a suitable room is available. The organiser books one slot, attendees accept or decline, and the meeting can be moved, cancelled or made recurring. Everyone is reminded before the meeting starts.

What must a meeting scheduler do?

  • Users and calendars: Every user has a calendar in their own time zone with working hours (for example 09:00 to 18:00) and a list of events.
  • Rooms: A room has a capacity, a location and equipment (video, whiteboard); a room has its own calendar.
6 more requirementsUnlock to see all

How well must it do it?

  • Correct overlap: Two events in one calendar may touch (one ends when the next starts) but not overlap; a room never holds two meetings at once, even with concurrent bookings.
  • Fast search: Finding slots for 10 attendees over two weeks must not scan every event in the company.
2 more requirementsUnlock to see all

What scale should you design for?

Use these numbers in your estimates.

The scale numbers unlock with this questionUnlock

Key concepts

  • Interval overlap
  • Calendar systems
  • Recurrence rules
  • Time zones
  • Observer pattern
  • Concurrency

How you’ll practise

6 short steps · save and come back any time
  1. Requirements
  2. Core objects
  3. Class relationships
  4. Key flows
  5. Extensibility
  6. 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 a meeting scheduler and explain your choices the way you would in an interview.
Is this question asked at entry level?
It is marked Medium. Entry-level engineers can practise it, but it expects you to reason about requirements and trade-offs, not only list components.
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

Premium questionSign up free, then unlock it