← Atlassian Interview Insights

Atlassian·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

Senior
Jul 2026

Summary

ML system design round at Atlassian for an MLE role. The whole session was one extended design question about building search for a product like Jira or Confluence, and they expected you to go pretty deep on almost every layer of the stack.

Questions Asked (5)

Q1

Design a search system for one of Atlassian's products, such as Jira issues or Confluence pages. Walk through the full stack from indexing to ranking to serving.

System DesignTechnical Trade-offs
Author's notes

This question sprawled in every direction.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then walk through the full pipeline: data ingestion, indexing, retrieval, ranking, and serving. Emphasize ML-specific components like learning-to-rank and embedding-based retrieval, and discuss trade-offs between relevance, latency, and cost.

Pro tip: Anchor your design in Atlassian's context by referencing real product constraints (e.g., Jira's permission model, Confluence's rich content) and propose an iterative approach with offline evaluation and online A/B testing.

1. Clarify Requirements and Scale

Ask about data volume, query types, latency SLAs, and relevance expectations. Establish scope (e.g., Jira issues vs. Confluence pages) and non-functional requirements like permissions and freshness.

2. Data Ingestion and Indexing

Describe how to collect and preprocess data (e.g., issue text, comments, metadata) and build both inverted and vector indexes. Discuss incremental updates and handling permissions.

3. Retrieval and Ranking

Explain candidate generation (e.g., BM25, ANN) and ranking (e.g., learning-to-rank with features like text match, recency, user behavior). Mention embedding models and fine-tuning.

4. Serving and Infrastructure

Outline the serving layer: query understanding, parallel retrieval, ranking service, and result blending. Discuss caching, sharding, and latency optimization.

5. Evaluation and Iteration

Cover offline metrics (NDCG, MRR), online A/B testing, and feedback loops. Highlight monitoring and continuous improvement.

Key Points to Mention

  • Hybrid retrieval combining lexical (BM25) and semantic (embeddings) search
  • Learning-to-rank models with features like text relevance, freshness, and user engagement
  • Permission-aware indexing and filtering to respect Atlassian's access controls
  • Scalability considerations: distributed indexing (e.g., Elasticsearch), sharding, and caching
  • Trade-offs between relevance, latency, and cost (e.g., model complexity vs. response time)
  • Evaluation framework: offline metrics, online A/B testing, and human judgment

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you build the indexing pipeline to handle continuous updates and deletes for documents at the scale of tens of millions?

System DesignData Modeling
Author's notes

Talked through ingestion, tokenization, inverted index construction, and generating dense embeddings.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then propose a scalable architecture using a distributed message queue and a sharded, versioned index. Emphasize how you handle updates and deletes efficiently with incremental indexing and compaction, and discuss trade-offs between consistency, latency, and cost.

Pro tip: Mention that deletes should be handled as tombstones with periodic compaction to avoid index bloat, and that using a Lambda architecture with a real-time and batch layer can balance freshness and throughput.

1. Clarify Requirements and Constraints

Ask about update frequency, latency SLAs, consistency requirements, and query patterns to tailor the design. This shows you understand that indexing pipelines are not one-size-fits-all.

2. Design Ingestion and Buffering

Propose a distributed message queue (e.g., Kafka) to handle high-throughput updates and deletes, ensuring durability and decoupling. Use partitioning by document ID to maintain order per document.

3. Build the Indexing Layer

Use a sharded, distributed search engine (e.g., Elasticsearch, Solr) or a custom inverted index with versioning. For updates, index new versions and mark old ones as stale; for deletes, insert tombstones.

4. Handle Compaction and Consistency

Implement periodic compaction to merge segments, remove tombstones, and reclaim space. Ensure read consistency by using version numbers or timestamps to filter out stale documents.

5. Monitor and Optimize

Set up monitoring for lag, throughput, and index size; optimize by tuning batch sizes, parallelism, and compaction frequency. Discuss trade-offs between latency and resource usage.

Key Points to Mention

  • Use of distributed message queue (e.g., Kafka) for ingestion and buffering
  • Sharding and partitioning strategies for scalability
  • Versioning and tombstones for updates and deletes
  • Compaction and segment merging to manage index size
  • Trade-offs between consistency, latency, and cost
  • Monitoring and alerting for pipeline health

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

What embedding model would you choose for semantic search here, and how would you get training data for fine-tuning it?

Technical Trade-offsSystem Design
Author's notes

Said sentence transformers as a starting point, then domain fine-tuning using click logs as weak supervision.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the search context (e.g., Atlassian's Confluence/Jira content, query types, latency/scale constraints) and then recommend a baseline embedding model (e.g., a sentence-transformer or OpenAI embedding) with justification. For fine-tuning, propose a data generation pipeline using existing user interaction logs (click-through, query-document pairs) and synthetic query generation from documents, then outline a contrastive learning setup.

Pro tip: Emphasize that fine-tuning is only worth it if you have a clear evaluation metric and enough high-quality in-domain data; otherwise, a well-chosen off-the-shelf model with good chunking and hybrid search often outperforms a poorly fine-tuned one.

1. Clarify requirements and constraints

Ask about the data domain (e.g., technical docs, tickets), scale (millions of docs), latency needs, and whether multilingual or code search is required. This shows you tailor solutions to Atlassian's specific use case.

2. Propose a baseline model

Suggest a strong general-purpose embedding model (e.g., E5, BGE, or OpenAI text-embedding-3) and justify based on performance, cost, and ease of deployment. Mention that you'd evaluate on a held-out set before considering fine-tuning.

3. Identify training data sources

Leverage existing user interaction logs (search queries, clicked documents, dwell time) and internal knowledge bases to create positive pairs. For negatives, use in-batch negatives or hard negatives mined from the corpus.

4. Design a data generation pipeline

If logs are sparse, generate synthetic queries from documents using an LLM (e.g., 'generate a question this passage answers') and treat the source document as positive. Ensure diversity and filter for quality.

5. Outline fine-tuning and evaluation

Fine-tune with a contrastive loss (e.g., MultipleNegativesRankingLoss) and evaluate using retrieval metrics (Recall@k, MRR, nDCG) on a human-annotated or synthetic test set. Discuss iterative improvement and A/B testing.

Key Points to Mention

  • Trade-offs between off-the-shelf vs. fine-tuned models: cost, latency, accuracy, and maintenance.
  • Importance of domain adaptation for Atlassian's technical and collaborative content.
  • Using user interaction data (clicks, query reformulations) as implicit relevance signals.
  • Synthetic query generation with LLMs for cold-start scenarios.
  • Contrastive learning objectives and hard negative mining.
  • Evaluation metrics for semantic search (Recall@k, MRR, nDCG) and online A/B testing.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you evaluate the search system both offline and online?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

NDCG and MRR for offline, A/B testing on click-through rate and session success metrics online.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining offline and online evaluation and their complementary roles in the ML lifecycle. Then outline a structured framework covering offline metrics, online experiments, and how to reconcile differences. Emphasize iterative improvement and guardrail metrics.

Pro tip: Highlight the importance of aligning offline metrics with online business metrics and using online experiments to validate offline gains, as offline improvements don't always translate to online success.

1. Define Evaluation Goals

Clarify what you aim to evaluate: relevance, ranking quality, user engagement, or business impact. Align metrics with product objectives.

2. Offline Evaluation

Use historical data and labeled datasets to compute metrics like NDCG, MAP, MRR, and precision/recall. Perform cross-validation and error analysis.

3. Online Evaluation

Run A/B tests or interleaving experiments to measure user behavior metrics (CTR, dwell time, conversion) and guardrail metrics (latency, failure rates).

4. Compare and Iterate

Analyze discrepancies between offline and online results. Use online feedback to refine offline metrics and model. Iterate rapidly.

5. Monitor and Maintain

Continuously monitor online metrics post-launch, detect drift, and set up automated alerts for anomalies.

Key Points to Mention

  • Offline metrics: NDCG, MAP, MRR, precision/recall
  • Online metrics: CTR, dwell time, conversion rate, session success
  • A/B testing and interleaving experiments
  • Guardrail metrics: latency, error rates, business constraints
  • Statistical significance and power analysis
  • Feedback loop: using online results to improve offline evaluation

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

How would you handle personalization in search results given that different users in the same project have different roles and activity patterns?

System DesignTechnical Trade-offs
Author's notes

Brought up user and project signals as features in a learning-to-rank layer.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem scope and constraints, then propose a layered architecture that incorporates user-specific signals (roles, activity patterns) into the ranking pipeline. Emphasize trade-offs between personalization and other objectives like fairness, privacy, and system complexity, and suggest evaluation metrics to validate the approach.

Pro tip: Atlassian values collaboration and user-centric design, so highlight how personalization can improve team productivity without creating filter bubbles or privacy concerns. Mention the importance of explainability and user control over personalization settings.

1. Clarify Requirements and Constraints

Ask questions to understand the data available (user roles, activity logs), business goals (e.g., relevance, engagement), and constraints (latency, privacy, fairness).

2. Design Personalization Signals

Identify features from user roles and activity patterns, such as role-based permissions, recent actions, and collaboration networks, and how to encode them.

3. Architect the Ranking Pipeline

Propose a multi-stage ranking system where personalization is applied at different stages (e.g., candidate generation, ranking) using models like learning-to-rank with user embeddings.

4. Address Trade-offs and Mitigations

Discuss trade-offs between personalization and diversity, fairness, privacy, and system complexity, and suggest techniques like regularization, differential privacy, or fallback to non-personalized results.

5. Evaluate and Iterate

Define offline and online evaluation metrics (e.g., NDCG, CTR, user satisfaction) and propose A/B testing to measure impact and detect biases.

Key Points to Mention

  • Role-based personalization: using user roles to filter or boost results based on permissions and relevance.
  • Activity-based personalization: leveraging recent user actions, search history, and collaboration patterns to tailor results.
  • Cold-start problem: handling new users or users with limited activity through fallback strategies or role-based defaults.
  • Privacy and fairness: ensuring personalization does not leak sensitive information or reinforce biases, and providing user controls.
  • Scalability and latency: designing efficient feature computation and model serving to meet real-time requirements.
  • Evaluation metrics: using both offline (e.g., NDCG) and online (e.g., A/B tests) metrics to measure personalization effectiveness.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.