Design a news feed ranking system
Company: Apple
Role: Machine Learning Engineer
Category: ML System Design
Difficulty: medium
Interview Round: Technical Screen
Design a personalized **news feed** recommendation system.
Requirements:
- Low latency serving (real-time feed generation).
- Personalization using user behavior and content features.
- Freshness and diversity (avoid showing only one topic/source).
In your design, explain:
1. High-level architecture (candidate generation, ranking, post-ranking).
2. Data/logging needed for training and evaluation.
3. How you would generate and serve **embeddings** (user/item/content embeddings):
- How embeddings are trained.
- How they are updated (batch vs near-real-time).
- How the online service fetches/uses them (feature store vs embedding store).
4. How you evaluate the system offline and online (A/B tests, metrics, guardrails).
Quick Answer: This question evaluates a candidate's ability to architect a scalable, low-latency personalized news feed recommendation system, assessing competencies in candidate generation, ranking and post-ranking, embedding design and serving, data logging, and experimental evaluation.