← Atlassian Interview Insights

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

SeniorPrefer not to say
May 2026

Summary

Atlassian ML Engineer system design round, pretty intense. The whole session was one big design problem around automated ticket classification and routing, and they went deep on basically every layer of the stack.

Questions Asked (4)

Q1

Design a service that lets client companies submit bug tickets and automatically classifies and routes each ticket to the correct internal team. Walk through functional requirements, architecture, the ML model, and how you'd handle scaling and mis-routes.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

This is basically a full system design plus ML design question crammed into one.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then propose a high-level architecture with clear components (API, queue, classifier, router, feedback loop). Dive into the ML model choice, training data, and evaluation metrics, and finally discuss scaling strategies and mis-route handling with human-in-the-loop and monitoring.

Pro tip: Emphasize the importance of a feedback loop: mis-routed tickets should be corrected by agents, and those corrections should be used to continuously retrain and improve the model. This shows you think about long-term system health, not just initial deployment.

1. Clarify Requirements

Ask about expected ticket volume, number of teams, latency requirements, accuracy targets, and integration points (e.g., Jira, Slack). Define functional requirements like ticket submission, classification, routing, and status tracking.

2. High-Level Architecture

Propose a scalable architecture: API gateway for ticket ingestion, message queue for decoupling, classification service (ML model), routing service, and a database for tickets and metadata. Include monitoring and logging.

3. ML Model Design

Discuss model choice (e.g., fine-tuned BERT for text classification), training data (historical tickets with labels), features (text, metadata), and evaluation metrics (accuracy, F1, confusion matrix). Consider multi-label classification if tickets can belong to multiple teams.

4. Scaling and Reliability

Address scaling: horizontal scaling of services, model serving with caching, and queue-based load leveling. Discuss handling peak loads, model versioning, and A/B testing for model updates.

5. Mis-route Handling and Feedback

Describe strategies for mis-routes: confidence thresholds to route uncertain tickets to a human triage queue, agent feedback to correct labels, and periodic retraining. Include monitoring for drift and performance degradation.

Key Points to Mention

  • Use of confidence scores and thresholding to route low-confidence tickets to human review.
  • Feedback loop: capturing agent corrections to retrain the model and improve accuracy.
  • Scalability: decoupling components with a message queue (e.g., Kafka) and horizontal scaling of stateless services.
  • Model selection: trade-offs between traditional ML (TF-IDF + SVM) and deep learning (BERT) based on data size and latency.
  • Monitoring and alerting: track classification accuracy, latency, and queue depths; set up alerts for anomalies.
  • Integration with existing tools: APIs for ticket submission, webhooks for updates, and authentication/authorization.

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

Q2

How would you design the classification model itself? What features would you use, how would you train it, and would you score tickets online or offline?

System DesignTechnical Trade-offsData Modeling
Author's notes

Felt more comfortable here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business objective (e.g., routing, prioritization, or auto-resolution) and the data available. Then propose a feature set covering ticket text, metadata, and historical interactions, and discuss model choices and training strategies. Finally, address online vs. offline scoring by weighing latency, freshness, and infrastructure constraints.

Pro tip: Emphasize the importance of aligning model design with business impact and operational constraints, and mention how you would monitor and iterate post-deployment to ensure continued relevance.

1. Clarify Objective and Constraints

Ask questions to understand the goal (e.g., classify ticket type, priority, or sentiment) and constraints like latency, throughput, and data availability.

2. Design Feature Set

Propose features from ticket text (TF-IDF, embeddings), metadata (priority, product, customer tier), and historical context (past tickets, agent notes).

3. Select and Train Model

Choose a model (e.g., logistic regression, gradient boosting, or fine-tuned transformer) and outline training process: data splitting, cross-validation, hyperparameter tuning, and handling class imbalance.

4. Decide Online vs. Offline Scoring

Compare trade-offs: online scoring for real-time routing with low latency, offline for batch prioritization; consider hybrid approach and infrastructure.

5. Plan Evaluation and Monitoring

Define metrics (accuracy, F1, latency) and set up monitoring for drift, feedback loops, and retraining cadence.

Key Points to Mention

  • Feature engineering: text embeddings, metadata, and historical features
  • Model selection: trade-offs between interpretability and performance
  • Training strategy: cross-validation, class imbalance, and hyperparameter tuning
  • Online vs. offline scoring: latency, freshness, and cost considerations
  • Evaluation metrics: precision, recall, F1, and business-specific KPIs
  • Monitoring and retraining: drift detection and feedback integration

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

Q3

What non-functional requirements matter most for this system, and how would you define and track SLAs?

System DesignProduct Analytics & Metrics
Author's notes

Went with throughput, routing latency, classification accuracy, and auditability.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system's purpose and user-facing goals, then prioritize non-functional requirements (NFRs) that directly impact ML model performance and user experience. Define SLAs with measurable metrics, thresholds, and monitoring, and explain how you'd track them using observability tools and alerting.

Pro tip: Tie NFRs to business impact—e.g., latency affects conversion, model staleness affects trust—and propose SLIs/SLOs with error budgets to show you think in terms of reliability engineering, not just raw metrics.

1. Clarify system context and user expectations

Ask about the system's purpose, scale, and critical user journeys to identify which NFRs are most relevant (e.g., real-time recommendations vs. batch analytics).

2. Prioritize NFRs for ML systems

Discuss key NFRs like latency, throughput, scalability, availability, model freshness, fairness, and cost, and explain how they trade off against each other.

3. Define SLAs with measurable SLIs and SLOs

Propose specific metrics (e.g., p99 inference latency < 200ms, model accuracy > 95%, uptime 99.9%) and set targets based on user impact and business needs.

4. Design tracking and alerting

Describe how to instrument the system (e.g., Prometheus, Grafana, custom dashboards) to monitor SLIs, trigger alerts on SLO violations, and use error budgets to balance reliability and feature velocity.

5. Iterate and review

Explain the process for regularly reviewing SLAs, adjusting thresholds as the system evolves, and conducting post-mortems for SLA breaches to drive improvements.

Key Points to Mention

  • Latency and throughput requirements for model inference, including p50/p95/p99 percentiles
  • Model freshness and retraining frequency to avoid staleness
  • Scalability to handle peak loads and data volume growth
  • Availability and fault tolerance, including fallback mechanisms for model failures
  • Fairness, bias, and explainability as non-functional requirements for ML
  • Cost efficiency and resource utilization for training and serving
  • SLIs, SLOs, and error budgets as part of an SLA framework
  • Monitoring tools and alerting strategies for ML-specific metrics (e.g., data drift, prediction drift)

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

Q4

How would you handle mis-routes and re-routing when a ticket ends up assigned to the wrong team?

Root Cause AnalysisTechnical Trade-offsSystem Design
Author's notes

This was the part I actually liked.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging that mis-routes are inevitable in complex ML systems, then walk through a systematic process: detect, diagnose, correct, and prevent. Emphasize collaboration with cross-functional teams and designing feedback loops to continuously improve routing accuracy.

Pro tip: Frame mis-routes as opportunities to improve the system rather than failures, and highlight how you'd use them to generate labeled data for retraining. Show that you balance quick fixes with long-term systemic improvements.

1. Detect and Triage

Monitor for mis-routes through user reports, automated alerts, or anomaly detection. Quickly assess impact and prioritize based on severity.

2. Diagnose Root Cause

Analyze the mis-routed ticket to determine if the issue is due to model error, data drift, rule misconfiguration, or ambiguous ticket content.

3. Correct and Re-route

Manually re-route the ticket to the correct team and communicate with stakeholders. If possible, implement an automated re-routing mechanism for similar cases.

4. Prevent Recurrence

Update the routing model with new training data, adjust rules, or add guardrails. Set up monitoring to track routing accuracy and alert on regressions.

5. Learn and Iterate

Conduct a post-mortem, document lessons learned, and feed insights back into the ML pipeline to continuously improve routing performance.

Key Points to Mention

  • Root cause analysis: distinguish between model, data, and rule-based issues
  • Feedback loops: use mis-routes as labeled data to retrain and improve the model
  • Automated monitoring and alerting for routing accuracy and drift detection
  • Cross-team collaboration: work with support, engineering, and product teams to resolve and prevent mis-routes
  • Trade-offs: balancing quick manual fixes with long-term automated solutions
  • System design: incorporate fallback mechanisms and human-in-the-loop for ambiguous cases

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