← All parts

End-to-End Design

Design Google Calendar · Part 3
Problem context

Design a calendar service where people create events, repeat them on a schedule, invite others, and see when a group is free. An event has a title, a start, an end, and a timezone. It can repeat — daily, weekly, on weekdays, on the third Thursday of the month. Attendees are invited and respond yes, no, or maybe. Users open a day, week, or month view and expect everything on it, and they can ask "when are these eight people all free next week?" Reminders fire a chosen interval before an event.

The scope here is the calendar model itself: events, recurrence, timezone-correct occurrences, invitations and RSVPs, free-or-busy, and when a reminder is due. The delivery of a reminder (push, email) is a standard notification system, and firing a job at a time is the job-scheduler problem — both named and deferred. Real-time collaborative editing of an event's body, machine-learning "find a time" suggestions, video-conference integration, and full-text search are out of scope.

What a strong answer sounds like

State the decision, connect it to a requirement, and name the tradeoff. Keep the design focused on the workload in the prompt.

Ready for the end-to-end design interview?

The AI interviewer asks about this part of Design Google Calendar. The interviewer guides you through topics one by one.