← Atlassian Interview Insights
This was a single big question that kept expanding.
Start by clarifying requirements and constraints, then propose a high-level architecture that separates ingestion, indexing, retrieval, and generation. Emphasize how you would handle access control, multi-turn context, citations, and latency/freshness trade-offs, and discuss evaluation and iteration.
Pro tip: Treat access control as a first-class concern by enforcing permissions at query time and filtering retrieved documents before generation, rather than relying on post-hoc filtering. Also, design for incremental indexing and caching to balance freshness and latency.
Ask about scale (users, queries per second, data volume), latency targets, freshness requirements, and security/compliance needs. Confirm the types of data sources and their update frequencies.
Propose connectors for each source (wikis, docs, tickets, code, HR) that extract and normalize content, then chunk and embed it. Use incremental indexing with change data capture to meet freshness requirements.
Implement a hybrid retrieval system (e.g., dense + sparse) with metadata filters. Enforce per-document access control by integrating with source systems' permission APIs and filtering results at query time based on the user's identity.
Maintain conversation state and use a retrieval-augmented generation (RAG) approach to produce answers with citations. Ensure the model can handle follow-up questions by incorporating context and re-retrieving as needed.
Optimize with caching, pre-computation, and distributed serving. Discuss trade-offs between freshness and latency, and propose monitoring and evaluation metrics (e.g., answer accuracy, citation correctness, latency percentiles).
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.