Machine learning & data science
Build a recommendation or ranking model
Collaborative filtering, embeddings-based retrieval, offline ranking metrics.
~15 focused hours·intermediate
Tools: scikit-learn, implicit/Surprise, TensorFlow Recommenders, FAISS
Market relevance — share of job ads asking for this
Prerequisite capability — not asked for directly, but needed for others.
What employers mean
You should be able to…
- Build a collaborative filtering model (user-item matrix factorization) from interaction data
- Build a content-based / embeddings-based retrieval component for cold-start items
- Combine retrieval (candidate generation) with ranking, not just one flat model
- Evaluate with offline ranking metrics (precision@k, recall@k, NDCG, MAP) not just RMSE
- Handle the cold-start problem for new users or new items
- Explain the exploration/exploitation and popularity-bias tradeoffs in a recommender
- Design an offline evaluation that reasonably approximates online (A/B) performance
Needs first: Train and evaluate classical ML models
Learn — free, link-checked
The few resources that matter
Read · intermediate · 60 min · tensorflow.org
TensorFlow Recommenders
Official retrieval + ranking two-tower tutorial -- the embeddings-based architecture most 'build a recommender' interview questions expect. — TensorFlow / Google
Build from · intermediate · 120 min · github.com
Recommenders
Production-grade reference implementations (collaborative filtering to ranking) plus offline evaluation notebooks you can adapt for a real dataset. — Microsoft / recommenders-team
Course · intermediate · 180 min · developers.google.com
Recommendation Systems
Explains collaborative filtering, matrix factorization and embeddings-based retrieval with the same terminology recsys interviews use. — Google for Developers
Practice
Regional OTT / e-commerce style recommender
Using a public interactions dataset (e.g. MovieLens, or a retail transactions dataset as a proxy for an Indian e-commerce/OTT catalog), build a candidate-generation model with collaborative filtering and a simple content-based fallback for cold-start items. Rank candidates and evaluate offline with precision@k and NDCG@k, comparing against a popularity-baseline.
Done when
- Collaborative filtering model trained on user-item interactions with a documented train/test time split (not random split, to avoid leakage)
- Cold-start fallback implemented for items with no interaction history
- Precision@k and NDCG@k reported and compared against a most-popular baseline
- README explains why the chosen offline metrics were used and what an online A/B test would additionally need to check
Prove it
Evidence a recruiter can check
- Public GitHub repo with data split methodology and evaluation code
- Offline metrics table (precision@k, NDCG@k) comparing your model vs a popularity baseline
- A few example 'user -> top-5 recommendations' outputs shown in the README with commentary
- Can explain live the retrieval vs ranking split and why a time-based split was used
Interview
Questions you'll get asked
- Walk me through how you'd design a 'customers who bought this also bought' feature end to end
- How is a two-tower retrieval model different from a simple matrix factorization model?
- How do you handle the cold-start problem for a brand-new user with no history?
- Why is RMSE often a poor metric for evaluating a recommender, and what would you use instead?
- What's the difference between candidate generation and ranking in a recommendation pipeline?
- How would you measure and reduce popularity bias in your recommendations?
- How do you evaluate a recsys model offline before an A/B test, and what are the risks of trusting offline metrics alone?