Design an internal data-access chatbot
AtlassianMachine Learning Engineer · OnsiteLast updated
This question evaluates a candidate's ability to design production-ready ML systems that integrate retrieval-augmented generation, secure access control, tool-based workflows, data privacy, auditability, and low-latency interaction.
Design an internal enterprise chatbot for employees. The bot should answer questions and help with tasks by accessing internal data sources (e.g., knowledge bases like Confluence, work tracking like Jira, and possibly other internal tools).
Requirements:
- Users ask questions in natural language; the bot returns answers with citations when applicable.
- Must enforce access control: users can only see content they have permission to view.
- Should support both:
- Q&A over documents (RAG)
- tool/use-case workflows (e.g., “create a Jira ticket”, “summarize open incidents”, “find the runbook for service Z”)
- Must be auditable (logs) and safe (avoid leaking sensitive data).
- Interactive latency (a few seconds).
Describe the high-level architecture, key components, and how you would evaluate and monitor the system in production.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.