CCAR-F questions and answers — Domain 3: Claude Code
12 practice questions on Claude Code Configuration & Workflows, the domain weighted at 20% of the CCAR-F exam. Every answer explains why the distractors fail — that is the part that transfers to questions you have not seen before.
Question 1
A monorepo has a Python service and a TypeScript frontend with different conventions. What is the right memory layout?
- One root
CLAUDE.mdcontaining both sets of conventions - A root
CLAUDE.mdfor shared conventions plus aCLAUDE.mdin each package directory - A
CLAUDE.local.mdper developer describing the package they work on - Put everything in
~/.claude/CLAUDE.md
Answer: B. Subdirectory CLAUDE.md files load on demand when Claude reads files in those directories, so each session pays only for the conventions it actually needs — and contradictory rules never meet. A single root file loads everything every session and invites arbitrary conflict resolution. Personal and user-scope files are the wrong scope for team conventions.
Question 2
Which statement about CLAUDE.md loading is correct?
- The nearest file overrides files in parent directories
- All discovered files are concatenated, ordered from the filesystem root down to the working directory
- Only the file in the working directory is loaded
- Files load in alphabetical order by path
Answer: B. They are concatenated, not overridden — root-down, so instructions closest to where you launched are read last. Within a directory, CLAUDE.local.md is appended after CLAUDE.md. This is why contradictory instructions across levels are a real hazard rather than a resolved precedence.
Question 3
Your organisation must guarantee that Claude Code never reads .env files, on every developer machine. Where does this belong?
- A line in the managed policy
CLAUDE.md permissions.denywithRead(**/.env)in managed settings.claude/settings.jsonin each repository- A
PostToolUsehook that logs when a.envfile is read
Answer: B. Settings rules are enforced by the client regardless of what Claude decides; managed settings cannot be overridden by user or project files. A managed CLAUDE.md is behavioural guidance, not enforcement. Project settings can be edited by anyone with commit access. A PostToolUse hook fires after the read has already happened.
Question 4
Rank these settings sources from highest precedence to lowest.
- User → shared project → project local → command line → managed
- Managed → command line → project local → shared project → user
- Command line → managed → user → shared project → project local
- Shared project → project local → user → command line → managed
Answer: B. Managed settings win, then command line, then project local, then shared project, then user. List keys such as permissions.allow merge across scopes rather than replacing each other, and deny/ask rules apply before a folder is trusted while allow rules wait for trust.
Question 5
Before a refactor touching 40 files across a codebase you do not know well, which permission mode should the session start in?
acceptEdits, to avoid interruptionplan, to explore read-only and produce a reviewable plan firstbypassPermissions, since the change is largedontAsk, to deny anything unexpected
Answer: B. Plan mode reads files and runs read-only commands but will not edit source, so you get an approved plan before anything changes. Skipping it on a large cross-cutting refactor is a named anti-pattern — you discover the design problem halfway through, with the tree half-migrated.
Question 6
Which Bash permission rule allows ls -la but not lsof?
Bash(ls*)Bash(ls *)Bash(ls)Bash(ls -*)
Answer: B. The space before the wildcard is load-bearing. Bash(ls *) matches ls and ls -la but not lsof; Bash(ls*) matches lsof too. Bash(ls) is exact-match only. This kind of detail is exactly what the exam tests in permission questions.
Question 7
A PreToolUse hook script exits with code 2 and writes a message to stderr. What happens?
- The tool runs and the message is logged
- The action is blocked and stderr becomes the reason Claude sees
- The session terminates
- Nothing — only JSON output is honoured
Answer: B. Exit code 2 blocks the action and cannot be overridden by JSON output; stderr becomes the reason. Exit 0 means success and any JSON on stdout is parsed for a decision. Any other code is a non-blocking error — the action proceeds and the first line of stderr is logged.
Question 8
You want a /deploy skill that Claude can never trigger on its own. Which frontmatter?
user-invocable: falsedisable-model-invocation: truecontext: forkallowed-tools: []
Answer: B. disable-model-invocation: true keeps the skill out of the model-visible index — only a human typing /deploy runs it. user-invocable: false is the opposite: hidden from the menu, invocable only by Claude. context: fork controls isolation, and an empty tool list would not stop invocation.
Question 9
A CI job runs claude -p and produces different results on different runners. What is the most likely cause and fix?
- Model non-determinism; set temperature to 0
- The runs pick up host-specific hooks, plugins, MCP servers and
CLAUDE.md; add--bare - The runners have different CPU counts; pin the container
- Session resumption is leaking state; add
--continue
Answer: B. Without --bare, a -p session loads the same context an interactive session would, including anything in the working directory or ~/.claude on that machine. --bare skips auto-discovery of hooks, skills, commands, agents, plugins, MCP servers, auto memory and CLAUDE.md, which is why it is the recommended mode for CI.
Question 10
An automated PR reviewer produces too many low-value security findings. What is the correct remedy?
- Remove the security review step from the pipeline
- Add project-specific exceptions to the configuration and few-shot examples showing both a finding worth raising and one to suppress
- Instruct the reviewer to 'be less strict'
- Switch the reviewer to a smaller model to reduce verbosity
Answer: B. Narrow the rule and show the standard. Removing the check trades false positives for false negatives. 'Be less strict' is unmeasurable and shifts unpredictably. Model size is unrelated to calibration of what counts as a finding — and showing the negative case in examples is what actually moves false-positive rates.
Question 11
In a nightly unattended job, which flag combination prevents the run from waiting on a permission prompt?
--permission-mode acceptEditsalone--permission-mode auto --permission-prompts none--allowedTools "*"--output-format json
Answer: B. --permission-prompts none means nothing consults or waits on a permission host: anything that would prompt is denied, and Claude is told not to retry it. Pairing it with auto keeps the classifier reviewing actions. acceptEdits only covers edits and common filesystem commands; other shell commands still need allow rules.
Question 12
Which instruction should NOT live in CLAUDE.md?
- The project's build and test commands
- 'Run the compliance scanner before every commit, without exception'
- Directory conventions for where handlers live
- Naming conventions that differ from the language default
Answer: B. 'Without exception' is an enforcement requirement, and CLAUDE.md is context delivered as a message — it shapes behaviour but guarantees nothing, and conversation-only detail is lost to compaction. Make it a hook. The other three are exactly what CLAUDE.md is for: durable facts Claude should hold every session.
← Previous: Questions & answers — Domain 2 | Next: Questions & answers — Domain 4 →
Explore Other Certification Study Guides
Switch to another exam guide to prepare for your next Claude certification:
Claude Certified Associate — Foundations
Entry-level certification for non-coders: prompting, output evaluation, model selection, workflow integration, configuration, governance & responsible use.
Claude Certified Architect — Professional
Advanced enterprise architecture: solution design, system integration, evaluation frameworks, governance, safety & developer enablement.
Claude Certified Developer — Foundations
Build software on Claude: API integration, model selection, tools & MCP servers, agents vs workflows, security, safety & debugging.