Design a Product or Video Recommendation System
Company: Google
Role: Machine Learning Engineer
Category: ML System Design
Difficulty: medium
Interview Round: Technical Screen
Design a recommendation system for a large consumer platform. The platform may recommend either products in an e-commerce feed or videos in a media feed.
Your design should cover:
1. The main user-facing recommendation surfaces.
2. Online and offline data sources.
3. Candidate generation.
4. Ranking and re-ranking.
5. Feedback signals such as clicks, views, purchases, watch time, likes, skips, hides, and negative feedback.
6. Model training and evaluation.
7. Cold-start handling for new users and new items.
8. Online serving architecture and latency constraints.
9. Experimentation, monitoring, and guardrails.
Quick Answer: This question evaluates competency in designing large-scale recommendation systems, encompassing machine learning modeling, candidate generation and ranking, data engineering, online serving, feedback-driven learning, evaluation, and experimentation.