Design a product-feed recommendation system
Company: Atlassian
Role: Machine Learning Engineer
Category: ML System Design
Difficulty: medium
Interview Round: Onsite
Design an end-to-end **recommendation system** that generates a personalized **product feed** for users.
## What to cover
- **Requirements**: user experience goals (latency, freshness), business goals (CTR/conversion/revenue), and constraints.
- **Data**: user events (views/clicks/purchases), product catalog attributes, embeddings, etc.
- **Modeling approach**: candidate generation + ranking (and possibly re-ranking).
- **Serving architecture**: online inference, caching, feature computation, retrieval stores.
- **Training pipeline**: offline training, labels, negative sampling, feature/embedding pipelines.
- **Cold start**: new users / new products.
- **Exploration & experimentation**: A/B tests, online metrics, guardrails.
- **Safety/compliance** (as appropriate): privacy, abuse, bias.
Assume a large-scale consumer product with millions of users and a large catalog.
Quick Answer: This question evaluates a candidate's competency in end-to-end machine learning system design for recommendation engines within the ML System Design domain, including scalability, candidate generation and ranking, feature and embedding pipelines, online serving, cold-start strategies, experimentation, and privacy/safety considerations.