CCDV-F Practice Questions: Eval, Testing, and Debugging Domain
Test your CCDV-F knowledge with 10 practice questions from the Eval, Testing, and Debugging domain. Includes detailed explanations and answers.
CCDV-F Practice Questions
Master the Eval, Testing, and Debugging Domain
Test your knowledge in the Eval, Testing, and Debugging domain with these 10 practice questions. Each question is designed to help you prepare for the CCDV-F certification exam with detailed explanations to reinforce your learning.
Question 1
A developer deploys a Claude-powered support triage service. After a small SDK wrapper change, every request fails before any model response is returned. Log excerpt: ``` POST /messages status: 400 error: "invalid_request" detail: "messages[0].content must be an array of content blocks" request_id: req_71a model_response_body: null ``` What is the best next debugging action?
Show Answer & Explanation
Correct Answer: B
Correct answer (B): The failure occurs before Claude returns any model response, and the error explicitly identifies an invalid request payload. A 4xx-style invalid request should be debugged at the client request construction, authentication, parameters, or payload-format boundary before changing prompts, models, or retry policies.
Why the other options are wrong:
- Option A: Changing models may seem useful when an application fails, but the log shows the request is rejected before model output exists.
- Option C: Prompt instructions cannot fix a malformed API payload that is rejected before Claude processes the message.
- Option D: Backoff helps with transient errors, but this deterministic 400 error will continue until the request format is corrected.
Question 2
A release changed the structured-output schema for a Claude email triage app. The eval suite now fails only for escalation cases. Before/after trace: ``` Before schema: {"category": string, "priority": string} After schema: {"category": string, "priority": string, "escalation_reason": string} Prompt change: none Raw after output: {"category":"billing","priority":"high"} Validator after release: missing required field "escalation_reason" Application fallback: sets priority="normal" when validation fails Eval expected: priority="high" with escalation_reason present ``` What is the best fix to pursue first?
Show Answer & Explanation
Correct Answer: A
Correct answer (A): The regression follows a schema change that added a required field, while the prompt-output contract was not updated to elicit that field. The correct first fix is to align the prompt, schema, validator behavior, and retry or feedback handling so the required escalation_reason is produced and validated rather than weakening the contract or blaming the model.
Why the other options are wrong:
- Option B: Making the field optional avoids the failure but contradicts the new required behavior for escalation cases.
- Option C: Storing invalid JSON removes a guardrail and risks downstream defects instead of fixing the contract.
- Option D: The evidence points to a changed schema without a matching prompt contract, not a model capability issue.
Question 3
A document extraction pipeline asks Claude for structured JSON and validates it before writing to a database. The same invoice fails on every run. Artifact: ``` Required schema: {"invoice_id": string, "total_cents": integer, "currency": string} Raw model output: {"invoice_id":"INV-8831","total":"$42.10","currency":"USD"} Validator: missing required field "total_cents"; unexpected field "total" Retries attempted: 3; same validation error each time ``` What is the best primary fix?
Show Answer & Explanation
Correct Answer: B
Correct answer (B): The raw output violates the declared schema in a repeatable way, so the fix should preserve validation and repair the contract between the prompt, expected schema, parser, and downstream code. Blind retries or schema loosening would mask the defect rather than ensuring the application receives the required field in the required type.
Why the other options are wrong:
- Option A: Disabling validation may appear to improve throughput, but it hides a contract failure and risks incorrect downstream writes.
- Option C: Retries can help transient failures, but the artifact shows the same deterministic validation failure each time.
- Option D: Loosening the schema may be tempting, but the application explicitly requires total_cents as an integer field.
Question 4
A batch summarization worker logs the following for one document: ``` attempt 1: status 429, response "rate limit exceeded" attempt 2: status 429, response "rate limit exceeded" attempt 3: scheduled after 200 ms, no jitter operation: generate summary only, no external side effect ``` What is the BEST recovery strategy?
Show Answer & Explanation
Correct Answer: B
Correct answer (B): A rate-limit response is a transient operational failure, and the operation is a generation-only task with no external side effect. The best recovery is a bounded retry policy with exponential backoff and jitter. This avoids hammering the service while still allowing recovery from temporary capacity limits.
Why the other options are wrong:
- Option A: Some errors are permanent, but the scenario identifies a rate-limit response, which is commonly handled as transient with bounded backoff.
- Option C: Prompt wording does not address a rate-limit status because the failure is operational rather than model-output quality.
- Option D: Marking the document complete loses work and hides the failure instead of applying an appropriate transient-error policy.
Question 5
A team is preparing a Claude-based claims summarizer for production. The current test plan is shown below. Test plan excerpt: ``` Unit tests: API wrapper returns status 200 for one sample claim Manual test: one adjuster approved one generated summary Known risks: long claims, missing fields, conflicting witness statements, policy exclusions Release goal: detect regressions after prompt or parser changes ``` What is the best improvement to the test plan?
Show Answer & Explanation
Correct Answer: A
Correct answer (A): Production confidence for Claude applications requires representative evals with expected behavior or grading criteria, especially when risks include varied and difficult cases. Unit tests can verify integration behavior, but model behavior should be covered with regression-oriented eval cases rather than a single manual happy path.
Why the other options are wrong:
- Option B: A single real claim is not representative enough to catch regressions across the stated risk areas.
- Option C: Removing unit tests loses coverage of integration code; evals should complement, not replace, unit tests.
- Option D: Repeating one happy-path claim does not cover the known risk cases or define expected behavior criteria.
Question 6
A Claude workflow drafts an invoice email, calls a payment API tool, then asks Claude to summarize the result. A timeout occurs after the tool call: ``` tool_call: charge_customer {"invoice_id":"INV-77","amount":200} payment_api: request sent client_error: timeout waiting for payment_api response retry_policy: immediate retry of whole workflow idempotency_key: none ``` What is the BEST debugging-driven mitigation before enabling retries?
Show Answer & Explanation
Correct Answer: D
Correct answer (D): The timeout happened after a side-effecting payment request may have been sent. Retrying the whole workflow without an idempotency key or status check can duplicate the charge. The correct mitigation is to make recovery idempotency-aware before retrying an ambiguous external action.
Why the other options are wrong:
- Option A: Immediate full-workflow retry may look like a simple recovery, but it risks duplicate external side effects.
- Option B: The prompt cannot determine whether the payment API already processed the request after the timeout.
- Option C: Reducing model cost does not address the correctness risk of duplicating a payment action.
Question 7
A product classifier started failing after a backend refactor. The raw Claude output and validator log show: ``` raw_model_content: {"category":"hardware","confidence":0.82} old_contract: {category:string, confidence:number} new_validator_error: missing required field "label" new_contract: {label:string, confidence:number} prompt_version: unchanged for 3 weeks ``` What is the BEST next diagnostic conclusion?
Show Answer & Explanation
Correct Answer: C
Correct answer (C): The raw model output still matches the old contract, and the prompt has not changed. The failure appeared after a backend refactor that introduced a validator expecting `label` instead of `category`. The best conclusion is an application contract mismatch, not a sudden model-quality or transport problem.
Why the other options are wrong:
- Option A: A larger model might be considered for quality issues, but the evidence points to a schema contract mismatch introduced by the refactor.
- Option B: The prompt is unchanged, and the model output matches the old expected shape, so prompt ambiguity is not the first conclusion.
- Option D: The raw content is well-formed and available to the validator, so malformed transport bytes are not indicated.
Question 8
A production issue report says only, "Claude gave a bad answer." The current log record is: ``` level=error component=answer_service message="validation failed" ``` The team needs to diagnose future failures without storing full sensitive prompts. Which logging improvement is BEST?
Show Answer & Explanation
Correct Answer: B
Correct answer (B): Useful Claude debugging logs should capture the boundary and context needed for triage while avoiding unnecessary sensitive data exposure. Request ID, model version, prompt version, status, sanitized input or output excerpts, and validation details help determine whether the failure occurred in request handling, model output, or post-processing.
Why the other options are wrong:
- Option A: A user ID may help customer support, but it does not provide enough technical context to diagnose the failure boundary.
- Option C: Full prompts and responses can help debugging, but the scenario explicitly requires avoiding full sensitive prompt storage.
- Option D: The final browser output omits request metadata, raw response clues, and validation details needed for root-cause analysis.
Question 9
A batch summarization job sends independent documents to Claude. Most requests succeed, but a few fail during a regional network incident. Log excerpt: ``` job_id: nightly-619 failed_items: 12 of 8000 error_class: timeout request_body_validated: true last_success_for_same_payload: 3 minutes earlier retry_attempts: 0 validation_errors: none ``` What is the best recovery strategy for the failed items?
Show Answer & Explanation
Correct Answer: A
Correct answer (A): The artifact describes a transient timeout with validated requests and prior success for the same payload. For timeout or infrastructure-related failures, bounded retry with backoff and logging is appropriate, unlike deterministic validation failures that require a code or contract fix.
Why the other options are wrong:
- Option B: Validation is not causing the failures, and disabling it would reduce confidence in future requests.
- Option C: Prompt changes are speculative because the evidence points to a network timeout rather than prompt behavior.
- Option D: Dropping failed work hides incomplete processing and does not recover the affected documents.
Question 10
A Claude-powered order assistant uses a shipping lookup tool. The trace for a failed request shows: ``` 1. API status: 200 2. assistant tool_use: get_shipping_quote {"zip":"94107","weight_kg":2} 3. app dispatch: get_shipping_quote 4. tool result: HTTP 500 from carrier API 5. assistant continuation: not requested ``` Where did the failure first occur?
Show Answer & Explanation
Correct Answer: C
Correct answer (C): The trace shows that the Claude API request succeeded and the model produced a tool request. The application then dispatched the tool, and the first failure signal is the carrier API HTTP 500. Therefore the failing boundary is external tool execution, not model generation or validation.
Why the other options are wrong:
- Option A: Request construction succeeded because the API returned 200 and a valid tool_use event was produced.
- Option B: The model successfully selected a tool and supplied arguments, so the first failure is not before tool selection.
- Option D: No final assistant continuation occurred, so final response validation is downstream of the observed failure.
Ready to Accelerate Your CCDV-F Preparation?
Join thousands of professionals who are advancing their careers through expert certification preparation with FlashGenius.
- ✅ Unlimited practice questions across all CCDV-F domains
- ✅ Full-length exam simulations with real-time scoring
- ✅ AI-powered performance tracking and weak area identification
- ✅ Personalized study plans with adaptive learning
- ✅ Mobile-friendly platform for studying anywhere, anytime
- ✅ Expert explanations and study resources
Already have an account? Sign in here
About CCDV-F Certification
The CCDV-F certification validates your expertise in eval, testing, and debugging and other critical domains. Our comprehensive practice questions are carefully crafted to mirror the actual exam experience and help you identify knowledge gaps before test day.
More CCDV-F Practice Questions by Domain
- CCDV-F Practice Questions: Applications and Integration — 33.1% of the exam
- CCDV-F Practice Questions: Model Selection and Optimization — 16.8% of the exam
- CCDV-F Practice Questions: Agents and Workflows — 14.7% of the exam
- CCDV-F Practice Questions: Prompt and Context Engineering — 11.0% of the exam
- CCDV-F Practice Questions: Tools and MCPs — 10.6% of the exam
- CCDV-F Practice Questions: Security and Safety — 8.1% of the exam
- CCDV-F Practice Questions: Claude Code — 3.1% of the exam
Want more? Take the free CCDV-F sample tests across all 8 domains, review the CCDV-F cheat sheet for last-minute revision, or work through the CCDV-F interactive guide.