Scenario
Design a simplified news app (mobile + web) for a very large user base.
Users can:
-
open the app and see a personalized news feed
-
open an article to read it
-
see which articles are
read/unread
The interviewer wants you to focus on read tracking and caching.
Requirements
-
Feed API: return a ranked list of articles for a user.
-
Article API: return article content (text + images) quickly.
-
Read state:
-
when a user reads an article, it should eventually show as “read” on other devices
-
read state should not be lost if offline briefly
-
Scale assumptions:
-
50M DAU, peak 1M requests/sec globally
-
P95 latency: Feed < 200 ms, Article < 300 ms
Deliverables
-
APIs and data model
-
Caching strategy (client, CDN, server)
-
How you store and sync read state
-
Handling invalidation, personalization, and hot content