← Atlassian Interview Insights
This is basically a full system design plus ML design question crammed into one.
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.
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.
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.
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.
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.
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.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.
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.
Ask questions to understand the goal (e.g., classify ticket type, priority, or sentiment) and constraints like latency, throughput, and data availability.
Propose features from ticket text (TF-IDF, embeddings), metadata (priority, product, customer tier), and historical context (past tickets, agent notes).
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.
Compare trade-offs: online scoring for real-time routing with low latency, offline for batch prioritization; consider hybrid approach and infrastructure.
Define metrics (accuracy, F1, latency) and set up monitoring for drift, feedback loops, and retraining cadence.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.
Went with throughput, routing latency, classification accuracy, and auditability.
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.
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).
Discuss key NFRs like latency, throughput, scalability, availability, model freshness, fairness, and cost, and explain how they trade off against each other.
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.
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.
Explain the process for regularly reviewing SLAs, adjusting thresholds as the system evolves, and conducting post-mortems for SLA breaches to drive improvements.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.
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.
Monitor for mis-routes through user reports, automated alerts, or anomaly detection. Quickly assess impact and prioritize based on severity.
Analyze the mis-routed ticket to determine if the issue is due to model error, data drift, rule misconfiguration, or ambiguous ticket content.
Manually re-route the ticket to the correct team and communicate with stakeholders. If possible, implement an automated re-routing mechanism for similar cases.
Update the routing model with new training data, adjust rules, or add guardrails. Set up monitoring to track routing accuracy and alert on regressions.
Conduct a post-mortem, document lessons learned, and feed insights back into the ML pipeline to continuously improve routing performance.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.