← Atlassian Interview Insights
This is a beast of a question and I think I underestimated how many distinct sub-problems are packed into it.
Start by clarifying requirements and constraints, then present a layered architecture that separates ingestion, retrieval, access control, and action execution. Emphasize how you would evaluate and monitor the system for correctness, security, and performance, and discuss trade-offs between different design choices.
Pro tip: Anchor your design around Atlassian's existing permission models (e.g., Confluence/Jira permissions) and show how you'd enforce them at query time, not just at ingestion. Also, propose a phased rollout starting with read-only Q&A before enabling actions.
Ask about scale, latency, data freshness, supported actions, and compliance needs. Confirm that access control must mirror source systems and that audit logs are immutable.
Outline components: ingestion pipeline (connectors to Confluence/Jira), vector database for retrieval, LLM orchestration layer, access control service, action executor, and audit logging. Explain data flow from query to answer/action.
Detail how to enforce permissions: propagate user identity, check permissions at query time via source APIs or cached ACLs, and filter retrieved documents. For actions, validate permissions and use OAuth scopes.
Define offline metrics (retrieval accuracy, answer correctness) and online metrics (user feedback, latency, error rates). Describe A/B testing, canary deployments, and monitoring for security anomalies and drift.
Discuss trade-offs: real-time vs. batch ingestion, fine-tuning vs. RAG, caching vs. freshness. Propose an iterative approach starting with read-only Q&A and expanding to actions.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.