Design a Scalable Calendar Service
Company: Uber
Role: Frontend Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
Design an online calendar service for individual and shared calendars. Users should be able to create, update, delete, and view events in day, week, month, and agenda views. The system should support inviting attendees, attendee responses, shared calendar permissions, recurring events, time zones, reminders, conflict warnings, and free/busy availability checks. Discuss the frontend experience, backend services, APIs, data model, scalability, consistency, and important edge cases.
Quick Answer: This question evaluates a candidate's ability to design a scalable, user-facing calendar system, covering frontend experience, backend services and APIs, data modeling, and features such as recurrence, time zones, permissions, reminders, and availability checks.