⏰ Hurry! Limited-Time 20% Savings on Premium Certification Materials - Coupon code: Club20
Certs Club
See all results for ""
Home Exams
CRISC ISACA CISSP ISC2 200-301 Cisco SY0-701 CompTIA AZ-104 Microsoft AI-900 Microsoft AIGP IAPP 1Z0-1067-26 Oracle View All Exams →
Sign in Get Started

Claude Certified Architect Foundations CCA-F Exam Questions

Download Exam View Entire Exam
Page: 1 / 3
Question #1 (Topic: Demo Questions)

A developer is implementing streaming for their Claude integration. They want to display a 'typing'indicator while Claude is generating thinking blocks, and switch to displaying text when the responsetext starts. Which streaming events signal this transition?

A.
A 'phase_change' event indicates the switch from thinking to text generation 
B.
The content_block_stop event for the thinking block followed by content_block_start for the text block signals the transition
C.
The message_delta event includes a 'current_phase' field 
D.
Thinking and text generation happen in separate streaming connections 
Correct Answer: B
Explanation:

A developer is implementing streaming for their Claude integration. They want to display a 'typing'indicator while Claude is generating thinking blocks, and switch to displaying text when the responsetext starts. Which streaming events signal this transition?

A. A 'phase_change' event indicates the switch from thinking to text generation 
B. The content_block_stop event for the thinking block followed by content_block_start for the text block signals the transition
C. The message_delta event includes a 'current_phase' field 
D. Thinking and text generation happen in separate streaming connections 

Answer : B
Explanation:
The correct answer is B. Why B is correct: Claude's streaming API uses content block events to signal what type of content is being generated. The transition from thinking to text happens like this:
content_block_start  (type: "thinking")  ? show typing indicator
    delta events...                       ? still thinking
content_block_stop                        ? thinking done ?
content_block_start  (type: "text")      ? switch to text display ?
    delta events...                       ? stream text to UI
content_block_stop                        ? response complete
So the exact transition signal is:
  • content_block_stop ending the thinking block ? hide typing indicator
  • content_block_start with type "text" ? begin displaying streamed text
This gives you precise, reliable control over your UI state. Why the others are wrong: A. phase_change event
  • This event does not exist in the Anthropic streaming API
  • A made-up event — don't be fooled by plausible-sounding names in exam questions
C. message_delta includes a current_phase field
  • Also does not exist — message_delta carries token usage and stop reasons, not phase information
  • Another fabricated field
D. Separate streaming connections for thinking vs text
  • Completely false — everything happens over a single streaming connection
  • Splitting connections would be architecturally bizarre and unnecessary
The key principle:
Content blocks are the fundamental unit of streaming structure in Claude's API
Each block has a clear lifecycle — start ? deltas ? stop — and the type field on content_block_start tells you exactly what's coming. This is how you build responsive, accurate streaming UIs.
Question #2 (Topic: Demo Questions)

A team builds an MCP tool that manages Kubernetes clusters. The tool includes operations likescale_deployment, delete_pod, and drain_node. These are high-impact operations that should requireconfirmation. How should the tool design handle dangerous operations?

A.
Add 'DANGEROUS:' prefix to tool descriptions and rely on Claude to warn the user
B.
Separate dangerous tools into a different MCP server that requires admin credentials 
C.
Require the user to type 'CONFIRM' before each dangerous operation 
D.
Implement a two-phase execution: the tool first returns a preview of what will happen (dry run), and requires a second call with a confirmation token to execute
Correct Answer: D
Explanation:

The correct answer is D. Why D is correct: The two-phase execution pattern (dry run + confirmation token) is the proper engineering solution for dangerous operations. Here's how it works:

Phase 1 — Preview:
User/Claude calls scale_deployment(replicas=0)
Tool returns: {
  "preview": "This will scale deployment 'api-server' to 0 replicas, 
               causing downtime for all users",
  "confirmation_token": "abc123xyz",
  "expires_in": 60
}

Phase 2 — Execute:
Claude shows preview to user, user confirms
Tool called again with confirmation_token: "abc123xyz"
? Operation executes

Why this is the right approach:

  • Confirmation is enforced at the code/tool level — not dependent on Claude's behavior
  • The preview gives Claude and the user full understanding of consequences before acting
  • The token ensures the exact same operation is confirmed (no bait-and-switch)
  • Token expiry prevents stale confirmations from executing later
  • This is a well-established pattern in infrastructure tooling (Terraform plan ? apply, kubectl dry-run ? apply)

Why the others are wrong: A. 'DANGEROUS:' prefix in description, rely on Claude to warn

  • Relies entirely on Claude's behavior — not guaranteed or enforceable
  • Claude might warn inconsistently or skip warnings under certain prompting
  • Critical safety must live in code, not prompts (recurring principle)

B. Separate MCP server with admin credentials

  • Adds access control but doesn't solve the confirmation problem
  • An admin with credentials can still accidentally trigger dangerous operations
  • Credentials ? confirmation of intent

C. Require user to type 'CONFIRM'

  • Better than A, but still weak — it's just a string check with no context
  • Doesn't show the user what they're confirming (no preview)
  • Can become muscle memory — users type CONFIRM without reading
  • No token means no guarantee the confirmed action matches what executes

The key principle:

High-impact irreversible operations need enforcement at the tool level with a preview-before-execute pattern

This is the same philosophy as the logging and safety questions — anything critical must be handled in infrastructure/code, not left to Claude or user discipline alone.


Question #3 (Topic: Demo Questions)

A senior developer is optimizing their token costs. They discover that 60% of their API cost comesfrom input tokens (most content is repeated context). Only 15% comes from output tokens, and 25%from thinking tokens. What optimization provides the biggest cost reduction?

A.
Reduce output length with max_tokens to save on the 15% output cost 
B.
Reduce thinking budget to save on the 25% thinking cost 
C.
Switch to a smaller model that has lower per-token costs across all categories 
D.
Implement prompt caching to save on the 60% input cost — cache reads cost only 10% of base input price
Correct Answer: D
Explanation:

The correct answer is D. Why D is correct: The math is straightforward — attack the biggest cost first.

Cost Category% of TotalOptimizationPotential SavingInput tokens60%Prompt caching (90% discount)~54% of total costThinking tokens25%Reduce budgetPartial savingOutput tokens15%Reduce max_tokensMinimal saving

Prompt caching charges cache reads at only 10% of the base input price — a 90% discount on that category. Since input tokens are 60% of total cost:

Without caching:  60% of bill = input tokens
With caching:     60% × 10% = 6% of bill for same content

Savings = ~54% reduction in total API cost

This is the highest leverage optimization by far — especially when the developer already confirmed that "most content is repeated context," which is exactly the use case prompt caching is designed for. Why the others are wrong: A. Reduce output length (15% of cost)

  • You're optimizing the smallest slice of the bill
  • Even cutting output tokens by 50% only saves ~7.5% total
  • Low leverage

B. Reduce thinking budget (25% of cost)

  • Better than A, but thinking tokens often directly affect output quality
  • Cutting thinking to save cost can degrade the very results you're paying for
  • Still less leverage than caching the 60%

C. Switch to a smaller model

  • Reduces costs across all categories proportionally
  • But sacrifices capability and quality — may not be acceptable for the use case
  • Also doesn't exploit the specific insight that repeated context is the problem
  • Blunt instrument vs. targeted fix

The key principle:

Always optimize the largest cost driver first, and use the tool designed specifically for that problem

Prompt caching exists precisely for repeated context scenarios. When 60% of your cost is repeated input and caching gives a 90% discount on that — it's not even a close call.

Question #4 (Topic: Demo Questions)

A developer is configuring Claude Code for a project that uses both JavaScript and Rust. TheJavaScript code follows Prettier formatting while Rust follows rustfmt conventions. How shouldCLAUDE.md handle this dual-language setup?

A.
Include both formatting conventions in the root CLAUDE.md with clear section headers 
B.
Create separate CLAUDE.md files in the js/ and rust/ directories 
C.
Use .claude/rules/ with glob-based rules: one file with **/*.js,**/*.ts pattern for Prettier rules, and another with **/*.rs pattern for rustfmt rules
D.
Rely on the language-specific formatters and don't include formatting rules in CLAUDE.md 
Correct Answer: C
Explanation:

The correct answer is C. Why C is correct: Using glob-based rules in .claude/rules/ is the most precise and scalable approach for a dual-language setup:

.claude/
  rules/
    javascript.md   # applies to **/*.js, **/*.ts
    rust.md         # applies to **/*.rs

Each rules file only activates when Claude is working on files that match its glob pattern. So:

  • Editing a .js file ? Prettier rules load automatically
  • Editing a .rs file ? rustfmt rules load automatically
  • No cross-contamination between language conventions

Why this is best:

  • Rules are context-activated — Claude gets exactly the relevant rules for the file it's editing
  • Clean separation of concerns — each language's conventions live in their own file
  • Scales easily — adding a 3rd language (Python, Go, etc.) is just adding another rules file
  • No cognitive overhead — Claude isn't processing Rust rules while editing JavaScript

Why the others are wrong: A. Both conventions in root CLAUDE.md with section headers

  • Claude loads all rules for every file regardless of language
  • Risk of confusion or mixing conventions when context switching
  • Works but is less precise than glob-based targeting

B. Separate CLAUDE.md in js/ and rust/ directories

  • Only works if your project is strictly separated by directory
  • Real projects often have mixed structures or shared directories
  • Less flexible than glob patterns which match by file extension regardless of location

D. Rely on formatters, skip CLAUDE.md entirely

  • Formatters handle auto-formatting but Claude still needs to know conventions when writing new code
  • Without rules, Claude may generate code that passes logic but fails formatting checks
  • Leaves Claude without guidance on style decisions formatters don't enforce

The key principle:

Glob-based rules give Claude precise, context-aware instructions — the right rules for the right files at the right time

This is the most targeted and maintainable architecture for multi-language projects in Claude Code.

Question #5 (Topic: Demo Questions)

Your organization is building a document review agent that processes hundreds of contracts daily. Eachcontract review generates a structured report. They want to measure the quality of reviews over time todetect drift or degradation. What evaluation architecture supports continuous quality monitoring?

A.
Randomly sample 5% of reviews for manual human evaluation weekly 
B.
Run every review through a second Claude evaluation pass that scores quality on predefined dimensions
C.
Compare each review's structure to a template and flag deviations 
D.
Use a combination: automated structural checks on 100% of reviews plus LLM-based evaluation on 10% sample plus human review of flagged outliers
Next Question
Correct Answer: D
Explanation:

D describes a layered evaluation architecture — which is the recommended approach for continuous quality monitoring at scale. Let's break it down:

LayerWhat it doesCoverageAutomated structural checksFast, cheap, catches obvious issues100% of reviewsLLM-based evaluationScores quality on deeper dimensions10% sampleHuman reviewCatches what automation misses, validates edge casesFlagged outliers only

This gives you:

  • Full coverage for structural issues
  • Deep quality scoring without the cost of running LLM eval on everything
  • Human judgment where it matters most

This is exactly how production AI monitoring systems are designed — not one method alone, but complementary layers. Why the others fall short: A. 5% manual review weekly

  • Too slow to detect drift in real time
  • Human-only evaluation doesn't scale to hundreds of contracts daily
  • Weekly cadence means problems can go undetected for days

B. Second Claude pass on every review

  • Expensive and slow at 100% coverage
  • LLM evaluating LLM output can have correlated blind spots — Claude may consistently miss the same errors
  • Not sustainable as volume grows

C. Template structure comparison only

  • Only catches formatting/structural deviations
  • Completely misses content quality, accuracy, and reasoning issues
  • Too shallow for meaningful quality monitoring