PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/LinkedIn

Design a scalable calendar system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to design a scalable, multi-tenant calendar platform, testing competencies in distributed systems architecture, API and data-model design for events/recurrence/time zones, access control and privacy boundaries, notification pipelines, and external integration.

  • hard
  • LinkedIn
  • System Design
  • Software Engineer

Design a scalable calendar system

Company: LinkedIn

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a multi-tenant calendar system used by hundreds of millions of users. Specify core requirements (events, attendees, invitations, reminders, recurring rules, time zones, shared calendars, access control) and non-functional goals (low latency, high availability, strong consistency where needed, cost efficiency). Provide: - APIs: Define REST/gRPC endpoints for creating/updating/deleting events, listing events in a time range, inviting/RSVP, searching by text/attendees/time, and managing calendars/shares. Include idempotency, pagination, filtering, and rate limiting. - Data model: Propose relational schemas (Users, Calendars, Events, Attendees, RecurrenceRules, Exceptions) and detail keys, indexes, and constraints. Explain how you represent recurrence (RRULE + exceptions) and time zones. Discuss soft deletes and audit fields. - SQL queries: Write representative queries, e.g., list all visible events for a user between [start, end], detect time conflicts for a candidate event, materialize a single series occurrence given RRULE + exceptions, and search by attendee and keyword with proper indexes. - Scalability and storage: Choose partitioning keys (e.g., user or calendar), sharding strategy, and secondary indexes. Describe caching (read-through for event instances), search indexing, and background expansion of recurring instances vs. on-the-fly expansion. - Consistency and concurrency: Handle concurrent edits, idempotent retries, distributed transactions vs. outbox pattern, and eventual consistency for search/notifications. Discuss disaster recovery, backups, and GDPR/retention. - Notifications and integrations: Design reminder delivery, ICS import/export, and external calendar sync. Address abuse prevention and quota. - Database choices: Compare when to use relational, document, or time-series databases for different features (e.g., metadata vs. change logs vs. analytics). Justify a primary store and any polyglot components.

Quick Answer: This question evaluates a candidate's ability to design a scalable, multi-tenant calendar platform, testing competencies in distributed systems architecture, API and data-model design for events/recurrence/time zones, access control and privacy boundaries, notification pipelines, and external integration.

Related Interview Questions

  • Review a Web Application Architecture - LinkedIn (easy)
  • Scale a Distributed Randomized Multiset - LinkedIn (medium)
  • Design a Top-K Ranking Service - LinkedIn (easy)
  • Design a Global Calendar Service - LinkedIn (medium)
  • Design a malicious-URL checking service using an isMalicious API - LinkedIn (medium)
LinkedIn logo
LinkedIn
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
7
0

System Design: Multi-Tenant Calendar at Massive Scale

You are designing a multi-tenant calendar platform used by hundreds of millions of users across organizations. Assume a cloud deployment with multiple regions and mobile/web clients. Design for privacy-preserving sharing across tenants, enterprise admin controls, and interoperability with external calendars.

Core Functional Requirements

  • Events: create, update, delete; single and all-day events; locations, attachments, notes.
  • Attendees: internal users, external emails, groups; organizer vs. attendee roles; RSVP states.
  • Invitations: send, accept/decline/tentative; tracking.
  • Reminders/Notifications: email/push/SMS at configured offsets.
  • Recurrence: RFC 5545 RRULE support (FREQ, INTERVAL, BYDAY, COUNT, UNTIL), exceptions (EXDATE), overrides (instance-level changes).
  • Time zones: store canonical TZ identifiers; DST-safe; local/UTC handling.
  • Shared calendars: personal calendars, team calendars; subscription to others; free-busy visibility.
  • Access control: owner/editor/reader/free-busy-only; tenant boundaries; audit.

Non-Functional Goals

  • Low latency: P50 < 100 ms for reads, P95 < 300 ms globally.
  • Availability: ≥ 99.99% for critical reads; graceful degradation for search.
  • Consistency: strong within a shard for event writes; eventual for search/notifications.
  • Cost efficiency: hot vs. cold storage tiers; precomputation windowing; caching.

Deliverables

  1. APIs: REST/gRPC for CRUD on calendars/events, list in time range, invite/RSVP, search (text/attendees/time), manage shares. Include idempotency, pagination, filtering, rate limiting.
  2. Data model: Relational schemas (Users, Calendars, CalendarMembers, Events, Attendees, RecurrenceRules, EventExceptions/Overrides, Reminders). Keys, indexes, constraints. Representation of recurrence and time zones. Soft deletes and audit.
  3. SQL:
    • List visible events for a user between [start, end].
    • Detect time conflicts for a candidate event.
    • Materialize a single occurrence from RRULE + exceptions.
    • Search by attendee and keyword with proper indexes.
  4. Scalability/storage: Partitioning/sharding, secondary indexes, caching (read-through for instances), search indexing, background expansion vs. on-the-fly.
  5. Consistency/concurrency: concurrent edits, idempotent retries, outbox pattern, eventual consistency for search/notifications, DR/backups, GDPR/retention.
  6. Notifications/integrations: reminder delivery, ICS import/export, external calendar sync, abuse prevention and quotas.
  7. Database choices: When to use relational vs. document vs. time-series; justify primary store and any polyglot components.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More LinkedIn•More Software Engineer•LinkedIn Software Engineer•LinkedIn System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.