Atlassian ML System Design: Design Jira Recommender
Question Description
Problem overview
You are asked to design a recommendation system for Jira that surfaces relevant issues, projects, and teammates to millions of users. The system must provide personalized suggestions based on user behavior (views, comments, assignments), project metadata, and recent activity while integrating seamlessly with dashboards, notifications, and search.
What you'll be evaluated on
Start by clarifying scope: which entities to recommend (issues, projects, people), real-time vs batch freshness, and privacy constraints. Then present a two-stage architecture: candidate generation (recall) and ranking (personalized scoring). Explain data sources (issue text, metadata, activity logs, social graphs), feature engineering (recency, role, similarity, embeddings), and model choices (matrix factorization, session-based models, dense embeddings + shallow ranker). Cover online components: low-latency feature store, online scoring service, cache, and event-driven updates for real-time personalization.
Flow of the interview
You’ll typically walk through: requirements and tradeoffs; high-level architecture; ML pipelines (offline training, online serving); latency, scalability, and fault-tolerance strategies; and evaluation (offline metrics, A/B testing, feedback loop). Expect questions that probe cold-start, diversity, bias mitigation, and maintainability.
Skill signals to demonstrate
You should show knowledge of recommender systems (candidate generation vs ranking), embedding methods, feature stores, streaming/event-driven pipelines, real-time inference, A/B testing, evaluation metrics (precision@k, NDCG), and operational concerns like instrumentation, rollback, and model lifecycle.
Common Follow-up Questions
- •How would you handle cold-start for new users, new projects, and new issues? Discuss content-based vs collaborative strategies.
- •Compare candidate generation approaches: graph-based walk, embedding nearest neighbors, and query-expansion. How do you choose and evaluate them?
- •Describe the design of an online feature store and low-latency scorer to meet <100ms SLA. How do you cache, shard, and fail gracefully?
- •What evaluation pipeline and metrics would you implement (offline and online) to measure quality and business impact? How do you set up A/B testing?
- •How do you ensure privacy, access control, and tenant isolation for recommendations in an enterprise product like Jira?
Related Questions
Explore More Questions
Practice This Question with AI
Get real-time hints, detailed requirements, and insightful analysis of the question.