Katkat

Design a large-scale news app with caching

RipplingSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's ability to design a scalable news application with emphasis on caching strategies and cross-device read-state synchronization, assessing skills in system architecture, API design, data modeling, distributed caching, and consistency handling.

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