Design a trending-articles platform
FigmaSoftware Engineer · OnsiteLast updated
This question evaluates system design competence for building large-scale, near-real-time trending and feed systems, testing skills in streaming ingestion, event modeling, ranking algorithms, caching, consistency and fault-tolerance, capacity planning, and operational observability within the System Design domain.
Design a system that surfaces trending articles in near real time for a large-scale product. Clarify functional requirements (APIs to fetch global/local/category feeds; personalization vs. global ranking; freshness/latency SLAs; pagination; language/locale support; abuse/spam resilience) and constraints (estimated DAU, QPS, peak write rates, P99 latency, availability targets). Propose the ingestion and storage architecture for user/content events (views, clicks, dwell time, shares), including schema design, hot/warm/cold storage tiers, and indexing strategy. Describe the streaming/batch compute for sliding windows and time-decayed counts; caching and invalidation; ranking service integration; consistency model; backfill/reprocessing; fault tolerance; capacity planning and sharding. Justify technology choices and trade-offs, and provide rough capacity estimates.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.