Phase 1 — Clarify & Scope
Interviewer: Design a recommendation system — think Netflix's "What to Watch" or Amazon's "Customers Also Bought." What do you want to clarify?
Candidate: Key questions:
- What are we recommending — movies, products, articles, music?
- What signals do we have — explicit ratings, implicit clicks/views, purchase history?
- Real-time personalization (recommendations change within seconds of a new action) or batch (daily recompute)?
- Cold start: how do we handle new users with no history and new items never interacted with?
- What's the scale — users, items, interactions per day?
Interviewer: Netflix-style movie/show recommendations. Signals: implicit (watch history, ratings, search queries, pause/skip behavior). Real-time personalization — a user finishing a show should affect recommendations immediately. Cold start for both new users and new content. 200 million users, 50,000 items (movies/shows), 1 billion interactions per day.
Candidate: Let me size this:
The full matrix is extremely sparse (each user watches ~200 items on average):
Interviewer: What are the core requirements?
Candidate:
- Return top-N recommendations for a user in < 100 ms
- Personalize based on full watch history and recent behavior
- Handle cold start: recommend popular/trending content to new users
- Content diversity: don't recommend 10 versions of the same…
In the full tutorial
- Phase 2 — High-Level Architecture
- Phase 3 — Deep Dive & Evolution
- Phase 4 — Robustness & Operations