Anthropic

Claude Certified Architect - Foundations (CCAR-F) practice questions

Agentic architecture, MCP tool design, Claude Code configuration, structured output, and reliability, for architects who make production tradeoff decisions with Claude.

New to CCAR-F? Read the how to pass Claude Certified Architect - Foundations study guide for a domain breakdown, a study plan, and exam-day tips.

Revising? The CCAR-F cheat sheet puts the domain weightings, key facts, and easy-to-confuse traps on one printable page.

Prefer flashcards? See a free sample of the CCAR-F flashcard deck, concept and misconception cards side by side.

60
Questions
120 min
Time allowed
720 / 1000
Pass mark
$125
Exam cost (USD)
348
Practice questions

Exam domains and weighting

The CCAR-F blueprint is split across 5 domains. See the official exam guide for the authoritative breakdown.

CCAR-F domains by share of the exam
DomainWeight
Agentic Architecture & Orchestration27%
Tool Design & MCP Integration18%
Claude Code Configuration & Workflows20%
Prompt Engineering & Structured Output20%
Context Management & Reliability15%

Free sample questions

No account needed. Every question explains why every answer is right or wrong, just like the full bank.

Free sampleAgentic Architecture & Orchestrationhard

The Resolution Desk team runs a Customer Support Resolution Agent on the Claude Agent SDK, calling the MCP tools get_customer, lookup_order, process_refund and escalate_to_human. To stop refunds being issued against unverified orders, they added a line to the project CLAUDE.md stating that process_refund must be called only after a successful lookup_order in the same session. Across the next 5,000 sessions, telemetry records 62 sessions in which process_refund was called with no preceding lookup_order call. Which statement best explains that residual failure rate?

  • ACLAUDE.md is prompt based guidance that shifts the probability of a behaviour rather than controlling it, so compliance is statistical; a prerequisite that must hold every time needs a PreToolUse hook that inspects the call and blocks it. Correct
  • BCLAUDE.md is loaded once at session start, so its text is evicted from the context window as the conversation grows and the constraint stops applying part way through longer disputes.
  • CTool call ordering is enforced by the MCP server that publishes the tools, so the 62 sessions indicate that the server lost its per session state and stopped rejecting the out of order calls.
  • DThe rule sits at the wrong level of the CLAUDE.md hierarchy, and moving it from the project file to a user level file would make the same wording binding on every session the team runs.
Prompt based instructions shape behaviour probabilistically, so a prerequisite that must hold every time requires a programmatic gate such as a PreToolUse hook. Text in CLAUDE.md enters the model's context and biases sampling, which is why compliance is high but not total. A PreToolUse hook executes in the harness rather than in the model, receives the pending tool call and its arguments, and can refuse it, so the guarantee comes from code that runs regardless of what the model decided.

Why A is correct: Correct: instructions in context influence sampling and cannot bound it, whereas a PreToolUse hook runs outside the model and can deny the call deterministically before it reaches the tool.

Why B is wrong: Tempting because attention dilution over long conversations is a real effect, but the failure does not depend on eviction: the instruction is advisory even while fully present in context, so restoring it would not make the ordering binding.

Why C is wrong: Tempting because MCP servers do hold connection state, but the protocol exposes independent tools with no cross tool ordering semantics, so there is no server side sequencing rule that could have lapsed.

Why D is wrong: Tempting because the hierarchy is real and does change which sessions see a file, but scope is not enforcement: the same sentence read from any level remains guidance the model may decline to follow.

Free sampleTool Design & MCP Integrationmedium

The Resolution Desk team adds a second MCP tool, find_account, alongside the existing get_customer on their Customer Support Resolution Agent. get_customer is described as retrieving a customer record by identifier, and find_account is described as retrieving an account record by identifier. Both take a single string argument. Across 800 sessions the agent calls find_account in roughly half of the identity checks the team intended to route to get_customer, with no pattern the team can predict from the transcripts. Which statement best explains that split?

  • AThe two tools return records of different shapes, so the agent deliberately alternates between them across sessions in order to compare the two results before it answers the customer's opening question.
  • BThe MCP server registers tools in the order they are listed in the project .mcp.json file, and the model is required to select the earlier registration whenever two tools accept an argument of the same type.
  • CIdentical input schemas make validation reject one of the two calls, after which the harness automatically retries the request against the sibling tool, which is what produces an even split of calls across the sessions.
  • DTool selection is driven by the tool name and the description text, so two descriptions stating the same capability in different words give the model no discriminating signal, and the choice then varies with the wording of each customer's message. Correct
Tool descriptions are the routing surface, so two tools whose descriptions state the same capability produce unpredictable selection. The model picks a tool by matching the request against each tool's name, description and input schema. When two descriptions assert the same capability in different words, no text distinguishes them, so selection falls to incidental wording in the customer's message and looks random in aggregate. Disambiguating means rewriting the descriptions to state what each tool covers and what it does not, or collapsing the pair into one tool.

Why A is wrong: Tempting because the tools genuinely do return different record shapes, but the agent has no comparison behaviour of that kind; it selects one tool per intent, and nothing in the loop asks it to sample alternatives.

Why B is wrong: Registration order is real, but it carries no selection precedence of this sort, and a rule like this would produce a consistent bias rather than the unpredictable half-and-half split observed.

Why C is wrong: Plausible if you assume schemas are compared across tools, but validation checks a call against its own tool's schema only, and there is no automatic retry that reroutes a call to a different tool.

Why D is correct: Correct. The description is the routing surface, and two overlapping descriptions leave the selection to incidental phrasing, which is exactly the unpredictable split the team measured.

Free sampleClaude Code Configuration & Workflowsmedium

The Meridian Platform team uses Claude Code for refactoring across a pnpm monorepo. They keep a root CLAUDE.md with house rules and a second CLAUDE.md inside packages/billing setting out currency rounding and money formatting conventions for that package. During a refactoring session an engineer works solely in packages/web, and the transcript shows the root conventions being applied while nothing from the billing memory file appears anywhere in context. What explains that behaviour?

  • AThe root CLAUDE.md takes precedence over any nested memory file, so a nested file is consulted only in repositories where no root level memory file exists at all.
  • BNested memory files are inert unless the root CLAUDE.md names them with an import line, and the root file in this repository declares no import for the billing package.
  • CA CLAUDE.md held in a subdirectory is pulled into context on demand when Claude Code works with files in that subtree, so a session confined to packages/web does not trigger the billing file. Correct
  • DClaude Code loads a single memory file per session, chosen from the working directory at launch, and discards every other CLAUDE.md it later encounters in the repository.
A subdirectory CLAUDE.md is loaded on demand when work reaches that subtree, not at session start. Memory files are scoped to the part of the tree they sit in. The root file applies to the whole repository from the outset, while a nested file is brought in when Claude Code reads or edits files under that directory. A session that never leaves packages/web therefore never has cause to load the billing package's file, so its absence is the design working rather than a precedence problem or a missing import.

Why A is wrong: Precedence between scopes is a real concept, which makes this tempting, but precedence decides how conflicting guidance is weighed rather than whether a nested file is eligible to load. A root file does not suppress nested memory files.

Why B is wrong: Importing a file by path is a genuine way to pull it in, so this sounds mechanical and correct. It is wrong because a subdirectory CLAUDE.md is eligible on its own merits when work reaches that subtree, with no import required.

Why C is correct: Correct. Nested memory is scoped to its own part of the tree and is loaded when that part of the tree is actually touched, which is exactly why a session limited to another package sees no sign of it.

Why D is wrong: The single file model matches how many tools handle configuration, so it is a reasonable guess. It is wrong because several memory files at different scopes can be in play in one session rather than one winning outright.

More free CCAR-F practice questions, every answer explained

Frequently asked questions

How many questions are on the Claude certification exam?
The Claude Certified Architect - Foundations (CCAR-F) exam has 60 questions and runs for 120 minutes. The format is proctored multiple-choice and multiple-response, scenario-based (4 scenarios drawn from a bank of 6).
What score do I need to pass Claude certification?
The pass mark is 720 / 1000. Examworthy gives you a per-domain readiness score so you can see which domains are holding you back before you book.
How much does the Claude certification exam cost?
The exam costs 125 USD to sit. Practising on Examworthy is free to start, and every answer is explained, right and wrong.
Is there a Claude certification practice exam?
Yes. Examworthy's exam mode runs a timed Claude certification practice exam (mock) paced to match the real exam, scored per domain so you can see exactly where you stand. Timed mocks are free with an account.
How does Examworthy help me prepare for Claude certification?
Every practice question explains why the right answer is right and why each wrong one is wrong, mapped to the official blueprint domains. You learn the reasoning, not just the letter.
Is Examworthy affiliated with Anthropic?
No. Examworthy is not affiliated with or endorsed by Anthropic. Our questions are original, blueprint-aligned practice material; we never reproduce live exam items.

Examworthy is not affiliated with or endorsed by Anthropic. All questions are original, blueprint-aligned practice material. We never reproduce live exam items. CCAR-F and related marks belong to their respective owners.