Problem statement
Design the pipeline that precomputes personalized recommendation rows for a streaming home page. Rather than scoring titles live on every home-page load, the system precomputes each user's ranked rows per shelf and writes them to a fast serving store, refreshing them as new signals arrive. Your focus is the precompute and serving infrastructure, not the ranking model's math.
Operating context. Hundreds of millions of users and a catalog of tens of thousands of titles produce a steady stream of interaction signals (plays, completions, ratings, list adds). A provided scoring model turns candidate titles into ranked lists. The home page then reads one user's rows with a single low-latency lookup. Rows must refresh on a nightly full pass and react to strong new signals within minutes, and new users and new titles need sensible cold-start rows.
Out of scope. The ranking model's training and algorithm details (assume a scoring model is provided), real-time in-session re-ranking inside a single visit, the home-page UI, and the A/B experimentation framework. Assume separate teams own those.
What to produce. A high-level architecture covering: interaction-signal ingestion into a feature store, candidate generation and scoring at scale, materializing per-user per-shelf rows into a low-latency serving store, the batch versus near-line refresh paths, cold-start handling, freshness/staleness trade-offs, and the failure/fallback story for the read path. Sketch the components and the data flow; we will probe specifics during checkpoints.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design HLD
- Media Recommendation
- Data Pipeline
- Scaling Batch
- Data Cache