TL;DR: Collaborative filtering learns taste from the user-item interaction matrix (matrix factorization or two-tower embeddings) and is strong for warm users but dies on cold start. Content-based uses item/user features, so it bootstraps new items but cannot discover beyond known features. Real systems are hybrid: a retrieval-then-ranking funnel where content and context cover the cold edges and CF carries warm users.
How to approach it. Split the two paradigms by the signal they consume (interactions vs features), name matrix factorization and two-tower embeddings as the CF workhorse, and make cold start the hinge that decides the architecture. Match approach to data availability, then describe the funnel that fuses them.
A strong answer. Collaborative filtering (CF). Recommend from the user-item interaction matrix (who clicked, rated, watched what), no item features required. Two flavors: memory-based (user-user or item-item similarity, "people who bought this also bought") and model-based, dominated by matrix factorization, which factors the sparse interaction matrix into low-dimensional user and item embeddings whose dot product predicts affinity. At scale this becomes learned two-tower networks. CF captures latent taste with zero hand-engineered features, but it has two structural weaknesses: cold start (a brand-new user or item has no interactions, so no embedding) and popularity bias (it over-serves head items).
Content-based. Recommend items resembling what a user already liked, using item features (genre, text, image embeddings) and a profile built from history. A new item has features the moment it exists, so cold start is handled, and recommendations are explainable. The cost: it stays inside the user's established profile (weak serendipity) and lives or dies on feature quality.
Cold start (the crux). For a new user, fall back to popularity or trending, an onboarding preference step, or context (device, locale, time). For a new item, lean on its content embedding until interactions accrue. This is precisely why pure CF is not enough and production stacks are hybrid.
In production this is a retrieval-then-ranking funnel. Candidate generation narrows millions of items to a few hundred via two-tower CF embeddings over an ANN index, plus content and trending sources. A feature-rich ranker then scores the survivors, followed by re-ranking for diversity and freshness. Evaluate offline (nDCG, recall@k) and online (engagement A/B), and respect the feedback loop: you only observe interactions on what you chose to show.
Key takeaways
- CF needs interactions; content needs features. The cold start question is "which signal exists yet."
- Matrix factorization and two-tower nets are the same idea: user and item embeddings whose dot product scores affinity.
- Production recsys is a funnel (retrieve then rank), not one model, and it is hybrid by necessity.
- Popularity bias plus the logged-on-what-you-showed feedback loop degrades quality silently over time.
What interviewers probe next.
- "How does matrix factorization work?" Factor the sparse user-item matrix into user and item latent vectors so their dot product reconstructs observed ratings; learn them by minimizing error on observed entries with regularization.
- "Cold start solutions?" Popularity and context for new users, content embeddings for new items, explicit onboarding, and hybrid models that fuse CF with content.
- "Implicit vs explicit feedback?" Explicit ratings are sparse and biased; implicit signals (clicks, watch time) are abundant but noisy (a click is not a like, a non-click is not a dislike), so you weight positives and sample negatives carefully.
- "Feedback loop and popularity bias?" The model trains on what it surfaced, reinforcing head items; counter with exploration, diversity terms, and logged-propensity correction.
Common mistakes.
- Treating recsys as a single model rather than retrieval plus ranking with multiple candidate sources.
- Ignoring cold start, so new users and items get nothing useful.
- Forgetting popularity bias and the feedback loop, which quietly rot recommendations.
- Conflating implicit and explicit feedback and modeling clicks as if they were clean ratings.
