Katkat

Design a News Aggregator

SnapchatSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's ability to design scalable content ingestion and distribution systems, encompassing API-driven fetching, scheduling, deduplication, storage, ranking, freshness guarantees, API rate limiting, and efficient article serving.

Design a news aggregation system that collects articles from many external news sources and serves a unified feed to end users. A key constraint is that the sources do not provide RSS feeds, so the system must periodically call source APIs to fetch new content.

Discuss the end-to-end design, including ingestion, scheduling, deduplication, storage, ranking, freshness, API rate limiting, and how articles are served efficiently to clients.