MEDIUM
Design Google Calendar
Design a calendar application supporting event scheduling, recurring events, shared calendars, and meeting room booking.
Estimated Time: 45 minutes
#Scheduling#Recurring Events#Conflict Detection#Notifications
Solution Overview
Store events with timezone awareness. Use RRULE format for recurring events. Implement conflict detection using interval trees.
Solution Overview
Store events with timezone awareness. Use RRULE format for recurring events. Implement conflict detection using interval trees.
Hints to Get Started
1
How to efficiently query overlapping events?
2
Recurring event expansion strategy
3
Timezone handling complexity
Features
- •Free/busy lookup
- •Meeting suggestions
- •Room booking
- •Calendar sharing
Data Model
event
- •id
- •title
- •start_time
- •end_time
- •timezone
- •recurrence_rule
- •attendees