Scenario
You are designing a short-video recommendation system (similar to a swipe/feed product). The system must personalize the feed for each user and react quickly to the user’s short-term interests (session intent), not just long-term preferences.
Requirements
-
Primary goal:
maximize user satisfaction in the current session by capturing short-term interest shifts (e.g., user starts watching cooking videos after browsing sports).
-
Scale assumptions (choose reasonable numbers and state them):
tens of millions of users, millions of videos, high QPS during peak.
-
Latency:
feed generation should feel instant (e.g., p95 < 200–300 ms for ranking at request time).
-
Freshness:
incorporate new uploads and the user’s latest interactions quickly.
-
Safety & quality:
filter harmful/low-quality/spam content; avoid repetitive or overly narrow recommendations.
-
Feedback signals:
watch time, completion rate, likes, shares, comments, follows, “not interested,” skips, and dwell time.
Deliverables
-
Propose an end-to-end architecture for candidate generation + ranking.
-
Explain
how you model and serve short-term interest
(session-based signals, near-real-time features, or online learning).
-
Define core offline/online metrics and experimentation approach.
-
Discuss data pipelines, feature stores, model training, and serving.
-
Call out key pitfalls (feedback loops, cold start, bias, exploration vs exploitation).