Katkat

Design a trending-articles platform

FigmaSoftware Engineer · Onsite

Last 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.