HLD-126·Caching & Edge
Easy · 500 ptsCalendar Free/Busy Slot Lookup & Booking Link API
Design a Calendly-style public scheduling availability API that serves precomputed free/busy bitmaps when hosts share booking links widely.
Max p99
≤ 45 ms
Availability
≥ 99.5%
Budget
≤ $2,400
Functional Requirements
- FR-1GET /freebusy/{host_id}?week=current — Returns available 15-minute meeting slots in viewer timezone.
- FR-2POST /freebusy/{host_id}/busy — Updates host busy intervals from calendar webhooks.
- FR-3PATCH & DELETE /freebusy/{host_id} — Updates, revokes, or deletes host_id entries with bounded TTL or explicit cache/index invalidation.
- FR-4Availability reads must remain fast and online if primary DB crashes.
Workload Profile
Baseline Link Views15,000 Read RPS / 1,400 Webhook Write RPS
Recruiting Campaign Surge45,000 Read RPS / 4,000 Write RPS
Active Working Set10 GB 60-day free/busy bitmaps
Traffic DistributionSkewed reads on public recruiter/exec host_id links
Consistency Model
Eventual bitmap refresh (< 5s) on public link view; final booking re-verifies slot.
Solutions Locked
Sign in and either achieve AC or complete 3 official submissions on this question to inspect community diagrams and writeups.
Loading solutions...
Submission History (0)Select to replay
No submissions yet
Click Submit in the top bar to evaluate against all 7 judge cases and save each run here.
Design Write-up
0 boxes · 0 edges
0 words