A) Design an ad click/impression tracking system at 100M requests/second
Design a highly scalable system to record ad events (impressions/clicks) at ~100 million requests/second and support an advertiser-facing dashboard.
Cover:
-
APIs / ingestion endpoints
-
Validation, abuse/fraud considerations (at a high level)
-
Real-time vs batch aggregation
-
Storage choices (hot vs cold), retention, and cost
-
Serving queries for the dashboard (latency, freshness, filters)
-
Consistency/idempotency (dedupe, retries)
-
Fault tolerance and backpressure
B) Design a “Status” feature (WhatsApp-like) and how to search statuses
Users can post ephemeral “status” updates (e.g., text/media) visible to allowed viewers for a limited time (e.g., 24 hours).
Design:
-
Data model and APIs for creating/viewing statuses
-
Privacy rules (who can see whose status)
-
Feed generation for viewing
-
Search
: how users search statuses (by text/hashtags/owner), and how indexing respects privacy and expiration
-
Performance: caching, indexing strategy, and scaling
-
Deletion/expiration and compliance considerations