Scenario
You are releasing a new recommendation feature that must generate and assign personalized, ranked product lists for each user at scale. Users may have different roles (e.g., buyer vs. seller), and recommendations must respect contextual signals (e.g., session/device/time) as well as business or policy constraints (e.g., eligibility, age/geography restrictions).
Question
-
Which machine learning technique(s) would you use to create ranked recommendation lists for users? Outline a practical end-to-end approach that can scale.
-
How would you incorporate user role, context, and other constraints when assigning recommended items?
Expectations
Discuss and justify choices across the typical recommendation stack, including:
-
Candidate generation (e.g., collaborative filtering, two-tower embeddings, graph/sequence methods).
-
Learning-to-rank for scoring and ordering.
-
Contextual and/or bandit approaches for exploration and personalization.
-
Serving architecture considerations and how to enforce constraints during retrieval and re-ranking.