10 Free CCA-F Sample Questions

Two questions from each of the five Claude Certified Architect Foundations exam domains, with the correct answer and a written explanation. No signup, no paywall — this is what every question in the full bank looks like.

  1. Q1 · Agentic Architecture & Orchestration · 27%

    In an agentic loop using the Claude Agent SDK, when should the loop continue processing?

    • A.When stop_reason is 'end_turn'
    • B.After a fixed number of 10 iterations
    • C.When stop_reason is 'tool_use'✓ Correct
    • D.When the assistant response contains text content
    Why C is correct: The agentic loop should continue when stop_reason is 'tool_use', meaning Claude is requesting a tool to be called. The loop terminates when stop_reason is 'end_turn', indicating Claude has finished its reasoning. Checking for text content or using fixed iteration caps are anti-patterns that can cause premature termination or infinite loops.
  2. Q2 · Agentic Architecture & Orchestration · 27%

    In a hub-and-spoke multi-agent architecture, a coordinator agent is about to delegate a broad research topic to subagents. Which approach best prevents duplication and ensures complete coverage?

    • A.Always route through all subagents in sequence regardless of query complexity
    • B.Allow subagents to communicate directly with each other to share partial results
    • C.Provide each subagent with the full coordinator conversation history for context
    • D.Assign distinct subtopics or source types to each subagent and route through the coordinator for all inter-agent communication✓ Correct
    Why D is correct: The coordinator should partition scope across subagents (assigning distinct subtopics or source types) to minimize duplication, and route all communication through itself for observability and consistent error handling. Subagents should not communicate directly (violates hub-and-spoke), should not always use all subagents (wastes resources on simple queries), and do not inherit the coordinator's conversation history automatically.
  3. Q3 · Claude Code Configuration & Workflows · 20%

    A team wants Claude Code to always run tests before committing and to never modify files in the /config directory. Where should these rules be placed?

    • A.In the Claude Code settings.json under 'rules'
    • B.In a .claude/rules/global.md file that applies to all projects
    • C.In a .clauderc file in the user's home directory
    • D.In the CLAUDE.md file at the project root✓ Correct
    Why D is correct: Project-specific rules and constraints belong in CLAUDE.md at the project root. This file is automatically read by Claude Code when working in that project and can contain both behavioral rules (run tests before committing) and path-specific restrictions (never modify /config). CLAUDE.md files can also be placed in subdirectories for path-specific overrides. settings.json handles configuration like MCP servers and permissions, not behavioral rules.
  4. Q4 · Claude Code Configuration & Workflows · 20%

    You are integrating Claude Code into a CI pipeline to review pull requests. The reviews are generating too many false positives on style issues. Which approach best reduces false positives?

    • A.Increase the context window by sending the full repository on every review
    • B.Lower the confidence threshold so Claude flags fewer issues overall
    • C.Define explicit review criteria in the prompt specifying what constitutes a blocking issue versus a suggestion✓ Correct
    • D.Use plan mode for all CI reviews to force more careful consideration
    Why C is correct: Explicit review criteria in the prompt directly address false positives by telling Claude what should be flagged as blocking versus informational. For example, specifying 'Only flag security vulnerabilities, broken logic, and missing error handling as blocking issues. Style and naming are suggestions.' Few-shot examples of good and bad reviews further calibrate the output. Lowering confidence thresholds, increasing context, or using plan mode don't directly address the criteria Claude uses to classify issues.
  5. Q5 · Prompt Engineering & Structured Output · 20%

    When using tool_use to extract structured data from documents, which JSON schema design best prevents Claude from hallucinating values for fields that may not be present in the source?

    • A.Use nullable fields (type: ['string', 'null']) for optional data and set required only for fields that must always be present✓ Correct
    • B.Use anyOf schemas with multiple type options for every field
    • C.Add a 'confidence' field next to each extracted value
    • D.Make all fields required with strict types
    Why A is correct: Nullable fields (type: ['string', 'null']) allow Claude to return null when a value is not present in the document, rather than fabricating a plausible-sounding value. This is the primary technique for preventing hallucination in structured extraction. Making all fields required forces Claude to fill them even when data is absent. The anyOf and confidence approaches add complexity without addressing the core issue of optional data.
  6. Q6 · Prompt Engineering & Structured Output · 20%

    You need Claude to review code in the same style as your senior engineers. You have 3 examples of excellent code reviews from your team. How should these be incorporated?

    • A.Include them in the system prompt as few-shot examples showing the exact format and tone expected✓ Correct
    • B.Summarize the review style in the prompt without including the actual examples
    • C.Reference them in a CLAUDE.md file and let Claude read them when needed
    • D.Fine-tune Claude on these examples for consistent behavior
    Why A is correct: Few-shot examples in the system prompt directly shape Claude's output format and style for the current task. Including 3 concrete examples of excellent reviews trains Claude on the exact level of detail, tone, and structure expected. Referencing examples in CLAUDE.md without including them in the prompt context is less reliable. Summarizing style loses the concrete patterns. Fine-tuning is out of scope for the CCA-F certification (explicitly listed as out-of-scope in the exam guide).
  7. Q7 · Tool Design & MCP Integration · 18%

    When writing a description for an MCP tool called 'lookup_order', which description is most effective at helping Claude select it correctly?

    • A.Gets data from the orders table in the database.
    • B.Retrieves order details including status, items, and shipping information for a specific order ID. Use when the customer references a specific order number or asks about an existing purchase.✓ Correct
    • C.Use this tool to look up orders. Takes an order_id parameter.
    • D.Retrieves order information.
    Why B is correct: An effective tool description tells Claude exactly what the tool does, what it returns, and when to use it relative to other tools. The strong version specifies the return content (order details including status, items, and shipping information), the required input (a specific order ID), and the trigger condition (the customer references a specific order number or asks about an existing purchase). That combination lets Claude reliably distinguish this lookup from any similar tool in the toolset. Saying only 'use this tool to look up orders, takes an order_id parameter' restates the function name without telling Claude when to choose it or what it returns. A bare 'retrieves order information' is similarly vague and gives no selection signal. Describing the tool as 'gets data from the orders table in the database' leaks an implementation detail (table-level access) without explaining the user-facing situation in which Claude should pick this tool, and may even encourage misuse for non-order data that lives in the same store.
  8. Q8 · Tool Design & MCP Integration · 18%

    Your MCP tool 'process_refund' fails because the order is outside the 30-day refund window. Which error response structure best enables the agent to handle this gracefully?

    • A.Throw an exception with the message 'Refund failed'
    • B.Return null and let the agent infer the failure from the absence of a result
    • C.Return { error: 'REFUND_WINDOW_EXPIRED', message: 'Order is outside 30-day refund window', retryable: false, escalate: true }✓ Correct
    • D.Return { success: false } and log the details server-side
    Why C is correct: A structured error response with an explicit error category, a human-readable message, and retryable/escalation flags gives Claude the information needed to choose an appropriate next step. Returning fields like `error: 'REFUND_WINDOW_EXPIRED'`, a clear message, `retryable: false`, and `escalate: true` tells the agent exactly what failed, that retrying will not help (the 30-day window will not change with another call), and that human escalation is the right path. Returning `null` and forcing the agent to infer failure from the absence of a result is ambiguous: null could mean failure, empty results, or a tool bug, and the agent has nothing to reason over. Throwing a generic exception with 'Refund failed' tells Claude something went wrong but provides no category, no retryability signal, and no guidance on recovery. Returning just `{success: false}` with the details logged only server-side leaves the agent blind to the actual cause and to whether retry or escalation is appropriate.
  9. Q9 · Context Management & Reliability · 15%

    A customer support agent has been running for 50 turns and is approaching the context window limit. Which strategy best preserves the ability to continue the conversation?

    • A.Increase the max_tokens parameter to extend the context window
    • B.Extract key facts from the conversation into a structured summary and use it as the context for the next turn✓ Correct
    • C.Start a new conversation from scratch and ask the customer to repeat their issue
    • D.Summarize only the most recent 5 turns and discard the rest
    Why B is correct: Extracting structured facts from the conversation history (e.g., customer name, issue type, steps already taken, decisions made) into a compact summary preserves the essential context while dramatically reducing token usage. This scratchpad pattern allows the agent to continue working without losing important state. Starting over loses context and frustrates customers. max_tokens controls output length, not context window size. Summarizing only recent turns risks losing critical early context like the original issue description.
  10. Q10 · Context Management & Reliability · 15%

    Your customer support agent is unable to process a refund because the customer's account is flagged for fraud review. The agent has no policy guidance for this scenario. What is the correct behavior?

    • A.Tell the customer the system is unavailable and end the session
    • B.Attempt the refund anyway since the customer seems legitimate based on conversation context
    • C.Escalate to a human agent, explaining the flag and the customer's request✓ Correct
    • D.Ask Claude to infer the correct policy based on similar scenarios it has seen
    Why C is correct: When an agent encounters a policy gap (no guidance for fraud-flagged accounts), the correct behavior is to escalate to a human. The escalation should include context: what the customer wants, what the agent found, and why it cannot proceed autonomously. Attempting the refund ignores the fraud flag and could cause harm. Claiming the system is unavailable is deceptive. Asking Claude to infer policy for sensitive financial decisions is a reliability anti-pattern — escalation exists precisely for situations where autonomous action is inappropriate.

Want the other 1,000+ questions?

$24.99 lifetime access. Adaptive difficulty, full timed exam simulation, written explanations on every question. 7-day refund.

Get Lifetime Access — $24.99

Or try 15 free questions first.