A free, open-source, self-hosted tool for Gen AI developer interview preparation.
Browse 690+ realistic interview questions across 15 Gen AI domains, each paired with a curated ideal answer — the kind of answer that would impress a senior interviewer. No timers, no scores, no pressure.
Bring Your Own Key (BYOK): Supply your own OpenAI, Anthropic, or Ollama API key. Keys are encrypted with AES-256 and stored locally — never sent anywhere except your configured LLM provider.
- LLM Internals (transformers, attention, KV cache, quantization, speculative decoding)
- Retrieval-Augmented Generation (vector DBs, chunking, reranking, RAGAS evaluation)
- Fine-tuning & Alignment (LoRA, QLoRA, RLHF, DPO, dataset curation)
- Prompt Engineering (CoT, structured output, adversarial prompting)
- Agentic Systems & Tool Use (MCP 2026-07-28, ReAct, multi-agent, memory architectures)
- MLOps for LLMs (vLLM, TGI, observability, cost optimization)
- AI Safety & Ethics (hallucination mitigation, red-teaming, EU AI Act)
- LLM Evaluation & Quality (golden sets, LLM-as-judge, regression evals, online metrics)
- Security & Guardrails (OWASP LLM risks, injection defenses, output filters, tool isolation)
- Fault Tolerance & Reliability (retries, circuit breakers, failover, graceful degradation)
- Production GenAI Applications (cost, caching, streaming, observability, structured output)
- Reasoning Models & Test-Time Compute (o-series, R1, thinking budgets, distillation)
- Context Engineering (compaction, memory vs RAG, context rot, prefix cache)
- GenAI System Design (copilots, support agents, document QA, cost/latency/safety)
- Behavioral & Situational (STAR method, trade-off reasoning, production incidents)
- Node.js 18+ or Bun
- pnpm (
npm install -g pnpm) - An API key from OpenAI, Anthropic, or a local Ollama instance
git clone https://github.com/your-org/gen-ai-interview-prep.git
cd gen-ai-interview-prep
pnpm installcp .env.example .env
pnpm setupThis creates a local SQLite database and seeds it with 690+ questions. No API key needed for this step.
pnpm devOpen http://localhost:3000. On first launch you'll be prompted to add your API key.
OpenAI:
- Get a key at platform.openai.com
- Select "OpenAI (GPT-4o)" in the setup screen
- Paste your
sk-...key
Anthropic:
- Get a key at console.anthropic.com
- Select "Anthropic (Claude)" in the setup screen
- Paste your
sk-ant-...key
Ollama (local, free):
- Install Ollama:
curl -fsSL https://ollama.ai/install.sh | sh - Pull a model:
ollama pull llama3.2 - Select "Ollama / Custom" in setup — no API key needed
LM Studio (OpenAI-compatible local server):
- In LM Studio, start the local server and copy the server URL (for example
http://192.168.1.5:1234). - In setup/settings, choose "Ollama / Custom endpoint".
- Set Model to the LM Studio model id (for example
qwen/qwen3.5-9b). - Set Base URL to the LM Studio server URL. The app auto-appends
/v1when missing. - API key is optional for local servers; a placeholder key is used if omitted.
- Browse by domain with difficulty filter (Foundational / Intermediate / Advanced)
- Expand any question to see the full ideal answer with core concept, interview framing, key points, and follow-up questions
- Bookmark questions as "Studied" or "Needs Review"
- Full-text search across all questions and answers
- Random Question mode per domain for quick 10-minute reviews
- Add more questions (AI) per domain using your API key — new questions are appended to the bank, never replacing existing ones
- JSON export of the full question bank for contributor workflows
- API keys are encrypted with AES-256-GCM using a randomly generated local key stored in
.keyfile - The
.keyfileand database (local.db) are gitignored and never committed - No telemetry, no analytics, no external requests except user-initiated LLM calls
- Network deployments: If the app is reachable beyond your machine, set
APP_ACCESS_PASSWORDin the environment. Users must sign in at/login; the session is an httpOnly signed cookie (no bearer token in the browser bundle). Optionally setAPP_SESSION_SECRETto a long random string so session verification avoids a slow key derivation on every request. Failed login attempts are rate-limited in memory per client IP (trustX-Forwarded-Foronly from your proxy). For maximum isolation, put the app behind a reverse proxy with SSO or Basic Auth instead.
Question contributions are welcome! See CONTRIBUTING.md for how to add questions via JSON or submit a PR.
To export the current question bank:
# Via the UI: Domains page → Export JSON
# Or directly:
curl http://localhost:3000/api/export > questions-export.jsonMIT — free to use, modify, and distribute.