19. AI Application Development Interview Questions
30 interview questions covering JavaScript AI architecture, prompting, structured outputs, tools, RAG, agents, security, evaluation, and production operations.
Interview Q01: What is the difference between an AI model and an AI application?
A model produces predictions or generations; an application wraps it with user experience, data, permissions, tools, validation, storage, and operations.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Which part should enforce authorization?
Interview Q02: Why should API keys not be exposed in browser code?
Browser bundles and network requests are inspectable. A leaked key can be abused for unauthorized calls and cost. Keep secrets on a server and have the browser call an authenticated backend.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Where should a provider secret live?
Interview Q03: What is prompt engineering?
Prompt engineering defines task instructions, evidence boundaries, examples, output requirements, and fallback behavior. It improves consistency but cannot replace validation, permissions, or testing.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
What does prompt engineering not replace?
Interview Q04: What is structured output?
Structured output constrains the model's response to a declared schema or format. Application code should still validate semantic rules and handle refusal or incomplete responses.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Does schema validity prove the content is factually true?
Interview Q05: What is a token?
A token is a model-specific unit of text or other input representation. Token count differs from word count and affects context capacity and cost.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Is token count always equal to word count?
Interview Q06: What is a context window?
The context window limits how much input and output a model can process in a request. Relevant context, summaries, and output caps help control cost and noise.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
What is a reason to summarize long history?
Interview Q07: What is tool calling?
The model emits a structured request to call a named tool. Application code validates arguments, checks authorization, executes the tool, and returns results to the model.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Does a model tool call automatically execute your function?
Interview Q08: Why use idempotency keys?
They help ensure retries of a logical operation do not create duplicate side effects, such as duplicate tickets or payments.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
What problem do idempotency keys address?
Interview Q09: What is RAG?
Retrieval-augmented generation retrieves relevant external documents and supplies them as context for a model response. It supports current or private knowledge but does not guarantee correctness.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
Does RAG eliminate hallucinations?
Interview Q10: What is an embedding?
An embedding is a numeric vector representing learned features of an input. Embeddings can support semantic similarity, but similarity is not a proof of truth or access permission.
Interview structure: define the concept, explain the design trade-off, and give one production example.
Interview approach: explain the concept, show the control boundary, and discuss the failure mode.
// Example: validate a boundary before doing work.
function requireNonEmptyString(value) {
if (typeof value !== "string" || value.trim() === "") {
throw new Error("Expected a non-empty string");
}
return value;
}- State the concept clearly.
- Mention one limitation or failure mode.
- Connect it to a production decision.
What does a vector similarity score establish?