Practice exam 3 (full length, 60 questions)
A second full-length exam using a different scenario draw: Code Generation with Claude Code, Multi-Agent Research System, Customer Support Resolution Agent and Structured Data Extraction. Together with Practice exam 2, it covers all six scenarios at full depth. Take it last, under exam conditions: 120 minutes, no notes.
Scenario A: Code Generation with Claude Code (questions 1 to 15)
Your team uses Claude Code for generation, refactoring, debugging and documentation, with shared configuration in the repository.
- 1. The team wants every session to follow the same commit-message format. Where should the rule go?
- A. In each developer's ~/.claude/CLAUDE.md.
- B. In the project CLAUDE.md, committed to the repository.
- C. In a skill that developers invoke before committing.
- D. In a .claude/rules/ file scoped to **/*.md.
- 2. React conventions apply to components in src/components/ and also in packages/*/ components/. What is the most maintainable way to apply them automatically?
- A. A CLAUDE.md in src/components/ only.
- B. Copy the conventions into every package's CLAUDE.md.
- C. A skill named react-conventions.
- D. A .claude/rules/ file whose paths globs match both locations.
- 3. A developer wants a stricter personal version of the team's /deploy-check command without affecting anyone else. What should they do?
- A. Copy it to ~/.claude/commands/ under a different name and customise the copy.
- B. Edit .claude/commands/deploy-check.md and not commit it.
- C. Add their checks to the project CLAUDE.md.
- D. Ask Claude to remember the extra checks.
- 4. A brainstorming skill generates ten alternative designs, which clutter the main conversation. Which frontmatter setting helps?
- A. allowed-tools: Read
- B. argument-hint: <topic>
- C. context: fork
- D. description: brief
- 5. A skill needs a ticket ID, and developers often invoke it without one. Which frontmatter setting helps?
- A. context: fork
- B. argument-hint: <ticket-id>
- C. allowed-tools: Bash
- D. required: ticket-id
- 6. A teammate built a /standup command, but nobody else can run it. What is the most likely cause?
- A. Commands need a restart to load.
- B. The command file has no frontmatter.
- C. The command name is reserved.
- D. It lives in the teammate's ~/.claude/commands/.
- 7. A package's maintainers want its CLAUDE.md to include only the API standards file from a shared docs/standards/ folder. What should they use?
- A. An @import of that one standards file in the package's CLAUDE.md.
- B. A copy of the file pasted into the package's CLAUDE.md.
- C. A symbolic link to the whole standards folder.
- D. A skill that loads all standards.
- 8. You need to add one field to one DTO, with a clear specification. Which approach fits?
- A. Plan mode.
- B. The Explore subagent first.
- C. Direct execution.
- D. A forked session.
- 9. You must choose between event sourcing and simple CRUD for a new module that other services will depend on. Which approach fits?
- A. Direct execution with a detailed prompt.
- B. Plan mode, to explore and compare approaches before changing code.
- C. Implement both and see which works.
- D. Direct execution, switching to plan mode if trouble appears.
- 10. You are implementing payment idempotency, a domain you have not worked in. What technique surfaces considerations you might miss?
- A. Ask for the implementation immediately and review it.
- B. Provide a long specification.
- C. Use plan mode with no further input.
- D. Have Claude interview you with questions about failure modes and edge cases before implementing.
- 11. A date-parsing bug affects sorting, which affects pagination. How should you report these to Claude?
- A. In one detailed message, because the fixes interact.
- B. One at a time, starting with pagination.
- C. One at a time, in random order.
- D. Only the pagination bug, since it is visible.
- 12. You have two unrelated bugs, in logging and in a CSV export. How should you report them?
- A. In one message, to save time.
- B. Only the more severe one.
- C. One at a time, since they are independent.
- D. As a single combined test case.
- 13. A migration script mishandles null values in one column. What is the most effective way to get it fixed?
- A. Ask Claude to "handle nulls properly".
- B. Give a specific test case with example input containing nulls and the expected output.
- C. Rewrite the script yourself.
- D. Switch to plan mode.
- 14. Claude behaves differently for two developers in the same repository. What should you check first?
- A. Their Claude Code versions only.
- B. Their network connections.
- C. Their operating systems.
- D. Which memory files /memory shows as loaded in each session.
- 15. A rules file with paths: ["terraform/*"] does not load when Claude edits terraform/ modules/vpc/main.tf. What is the fix?
- A. Change the glob to terraform/**/*.
- B. Move the rules into the root CLAUDE.md.
- C. Add a CLAUDE.md in terraform/modules/vpc/.
- D. Rename the file to terraform.md.
Scenario B: Multi-Agent Research System (questions 16 to 30)
A coordinator delegates to search, document analysis, synthesis and report subagents, producing cited reports.
- 16. A simple factual question ("When did the regulation take effect?") still runs the full fouragent pipeline. What should change?
- A. Add a cache in front of the pipeline.
- B. Use a faster model for every agent.
- C. Have the coordinator assess each query and invoke only the subagents it needs.
- D. Remove the report subagent.
- 17. Two search subagents return heavily overlapping results. What is the fix?
- A. Deduplicate results after synthesis.
- B. Partition the search scope between them, for example by subtopic or source type.
- C. Use only one search subagent.
- D. Run them sequentially.
- 18. The coordinator gives subagents a step-by-step procedure. When an expected source is missing, they stall. What would help?
- A. A longer procedure with more cases.
- B. Fewer subagents.
- C. A higher maximum number of turns.
- D. Briefs that state the research goal and quality criteria instead of fixed steps.
- 19. After synthesis, nobody can tell which claim came from which source. What should subagents produce?
- A. Structured claim-source mappings that synthesis must preserve.
- B. Longer summaries.
- C. A list of URLs at the end.
- D. Their full transcripts.
- 20. The synthesis subagent's prompt says "use the previous results". Its output is generic. What is wrong?
- A. The synthesis model is too small.
- B. Synthesis needs more tools.
- C. The coordinator must include the complete findings in the prompt; subagents do not inherit context.
- D. Results must be stored in a database.
- 21. A report treats a 2015 recycling rate and a 2023 rate as contradictory. What prevents this?
- A. Discard older sources.
- B. Require subagents to include publication or collection dates with each claim.
- C. Average the figures.
- D. Ask synthesis to choose the most credible one.
- 22. When search fails, the coordinator receives only "search unavailable". What should it receive instead?
- A. Nothing; the subagent should keep retrying.
- B. An empty result set.
- C. An exception that stops the workflow.
- D. Structured context: failure type, attempted query, partial results and alternatives.
- 23. The synthesis subagent was given the full web search toolset and now runs its own searches, duplicating work. What is the better design?
- A. Remove its search tools; give it a scoped verify_fact tool and route deeper research through the coordinator.
- B. Let it search but limit it to five searches.
- C. Remove the search subagent instead.
- D. Add "do not search" to its prompt.
- 24. Financial comparisons are buried in long paragraphs. What should synthesis do?
- A. Shorten the paragraphs.
- B. Move numbers to an appendix.
- C. Render financial data as tables, news as prose and technical findings as structured lists.
- D. Convert everything to bullet points.
- 25. You want the coordinator to keep researching until coverage is sufficient. What pattern is this?
- A. A fixed pipeline.
- B. An iterative refinement loop: check for gaps, re-delegate targeted queries, re-synthesise.
- C. A batch job.
- D. Self-review in the same session.
- 26. The synthesis agent has a small context budget and receives verbose subagent reasoning. What should change upstream?
- A. Nothing; truncate the input.
- B. Use a larger model for synthesis.
- C. Summarise everything into one paragraph.
- D. Have upstream agents return structured key facts, citations and relevance scores.
- 27. One of five search subagents fails after local retries. What should the coordinator do?
- A. Proceed with the available results and annotate the coverage gap in the report.
- B. Abort the whole report.
- C. Present the report as complete.
- D. Restart all five subagents.
- 28. (Choose two.) What belongs in a subagent's structured error report?
- A. The failure type.
- B. The query that was attempted.
- C. The model's internal stack trace.
- D. The subagent's full conversation transcript.
- 29. Synthesis receives results from ten subagents and tends to omit findings from those in the middle. What helps?
- A. Give synthesis more subagents.
- B. Shuffle the order each time.
- C. Put a key-findings summary first and organise detailed results under clear headers.
- D. Remove the middle results.
- 30. You want to compare two report structures built from the same completed research. What should you use?
- A. Two fresh sessions that re-run the research.
- B. fork_session from the research baseline.
- C. --resume twice in sequence.
- D. Plan mode.
Scenario C: Customer Support Resolution Agent (questions 31 to 45)
Your Agent SDK support agent uses MCP tools get_customer, lookup_order, process_refund and escalate_to_human.
- 31. After a long conversation is summarised, the agent quotes the refund amount as US45insteadofUS54. What prevents this?
- A. Summarise less often.
- B. Ask the customer to confirm amounts each turn.
- C. Use a larger context window.
- D. Keep amounts in a case facts block outside the summarised history.
- 32. Midway through investigating, the customer writes "I want a manager, now." What should the agent do?
- A. Escalate immediately with a structured hand-off.
- B. Finish the investigation first, then escalate.
- C. Offer a discount to keep the customer engaged.
- D. Ask why they want a manager.
- 33. A customer asks for a refund on a digital gift card. Policy covers physical goods only. What should the agent do?
- A. Refuse, because gift cards are not covered.
- B. Refund, because it is similar to a physical product.
- C. Escalate, because the policy does not address this request.
- D. Offer store credit instead.
- 34. get_customer returns the same response for "no such customer" and "service timeout". What should change?
- A. Return a default customer.
- B. Return a valid empty result for no match and a structured, retryable error for the timeout.
- C. Retry every call three times.
- D. Remove the tool.
- 35. The agent sometimes calls process_refund before lookup_order has confirmed eligibility. What is the most effective fix?
- A. Add examples of the correct order.
- B. Mention the order in the tool description.
- C. Use a larger model.
- D. Block process_refund programmatically until eligibility has been confirmed in this session.
- 36. Finance needs every refund capped at US$500 without exception. Where should this be enforced?
- A. A pre-tool hook on process_refund.
- B. The system prompt.
- C. A daily report reviewed by finance.
- D. Few-shot examples.
- 37. lookup_order's description is "Gets order". The agent sometimes uses get_customer for order questions. What is the first fix?
- A. Merge both tools.
- B. Add a keyword router.
- C. Expand both descriptions with inputs, examples and when to use each.
- D. Remove get_customer.
- 38. What should an escalation to a human include?
- A. Only the customer's name.
- B. Customer ID, issue, root cause, amounts, actions taken and the recommended action.
- C. The agent's apology text.
- D. A sentiment score.
- 39. When customers mention several orders, the agent mixes up their details. What helps most?
- A. Ask customers to contact support once per order.
- B. Use a bigger context window.
- C. Escalate all multi-order cases.
- D. Keep a structured record per issue (order ID, amount, status) separate from the conversation history.
- 40. Order results include internal warehouse notes that confuse the agent. What should you do?
- A. Filter results to the fields the agent needs before they reach it.
- B. Tell the agent to ignore warehouse notes.
- C. Escalate orders with notes.
- D. Add examples of ignoring notes.
- 41. The agent escalates whenever sentiment is negative. Escalation rates are high and many cases were simple. What is the fix?
- A. Raise the sentiment threshold.
- B. Add a second sentiment model.
- C. Replace sentiment triggers with explicit escalation criteria and few-shot examples.
- D. Escalate only after three negative messages.
- 42. A customer gives an order number but no other identity details. What should happen?
- A. Look up and discuss the order immediately.
- B. Verify the customer with get_customer first; the gate blocks order tools until then.
- C. Escalate to a human.
- D. Ask for the customer's password.
- 43. get_customer returns two customers with the same name and city. What should the agent do?
- A. Choose the customer with more orders.
- B. Choose the one with the most recent order.
- C. Escalate.
- D. Ask for another identifier, such as email or an order number.
- 44. process_refund returns refund_window_expired. What should the tool's response enable the agent to do?
- A. Recognise a non-retryable business error and explain the policy to the customer.
- B. Retry with a later date.
- C. Retry until it succeeds.
- D. Tell the customer the system is down.
- 45. (Choose two.) Which are appropriate escalation triggers?
- A. The customer explicitly asks for a human.
- B. The policy does not cover the request.
- C. The customer's tone is negative.
- D. The model reports low confidence.
Scenario D: Structured Data Extraction (questions 46 to 60)
Your system extracts data from unstructured documents, validates it with JSON schemas and feeds downstream systems.
- 46. warranty_period is a required string. Many documents have no warranty, and the model invents one. What is the fix?
- A. Add "do not invent" to the prompt.
- B. Delete the field.
- C. Make the field nullable.
- D. Default it to "12 months".
- 47. There is exactly one extraction schema, and you must guarantee it is used. Which tool_choice?
- A. {"type": "auto"}
- B. {"type": "tool", "name": "extract_record"}
- C. {"type": "none"}
- D. No tool_choice; rely on the prompt.
- 48. There are two schemas, for purchase orders and quotes, and the document type is unknown. Which tool_choice?
- A. {"type": "auto"}
- B. Force the purchase-order tool.
- C. Force the quote tool.
- D. {"type": "any"}
- 49. What does a strict JSON schema via tool use not prevent?
- A. Semantic errors such as totals that do not add up.
- B. Invalid JSON syntax.
- C. Missing required keys.
- D. Values of the wrong type.
- 50. Validation rejects "13/25/2026" as a date. What should happen?
- A. Drop the record.
- B. Store it as-is.
- C. Retry with the document, the failed extraction and the specific error.
- D. Replace it with today's date.
- 51. A value is "per the attached schedule", and the schedule was not provided. What is true?
- A. Retrying with feedback will fix it.
- B. Retries will not help, because the information is absent from the input.
- C. A larger model will find it.
- D. The model should estimate it.
- 52. Documents describe sizes informally ("about three feet", "roughly 1m"), and extraction is inconsistent. What helps most?
- A. Make the field optional.
- B. Use a regular expression.
- C. Increase max_tokens.
- D. Add normalisation rules and few-shot examples covering informal measurements.
- 53. Which statement about the Message Batches API is true?
- A. It cannot run multi-turn tool calls within a single request.
- B. It guarantees results within one hour.
- C. It costs the same as the synchronous API.
- D. It returns results in submission order.
- 54. Batches take up to 24 hours, and you submit every 4 hours. What is the worst-case time from a document's arrival to its result?
- A. 4 hours.
- B. 24 hours.
- C. About 28 hours.
- D. 48 hours.
- 55. You are about to process a million documents for the first time. How do you reduce costly resubmissions?
- A. Submit in one batch.
- B. Refine the prompt on a representative sample first.
- C. Use the synchronous API.
- D. Skip validation.
- 56. Human reviewers can check only 5% of documents. Which should they see first?
- A. A random 5%.
- B. The shortest documents.
- C. The newest documents.
- D. Low-confidence extractions and documents with ambiguous or contradictory sources.
- 57. How do you keep measuring the error rate of extractions you no longer review routinely?
- A. Stratified random sampling of high-confidence extractions.
- B. Wait for complaints.
- C. Ask the model to self-audit.
- D. Review only failed validations.
- 58. Field-level analysis shows tax_id is 99% accurate on invoices but 74% on receipts. What should you do?
- A. Accept the 95% average.
- B. Remove tax_id.
- C. Keep human review for tax_id on receipts until it improves.
- D. Retrain the model.
- 59. Some documents genuinely could fit two categories. What schema feature helps?
- A. Making category free text.
- B. An unclear enum value for ambiguous cases.
- C. Forcing the first matching category.
- D. Removing the category.
- 60. (Choose two.) What should a retry request after a validation failure include?
- A. The original document.
- B. The specific validation errors.
- C. A higher temperature.
- D. A different model.
Answer key for Practice exam 3
# Answer Domain Why
1 B 3 Project CLAUDE.md is shared through version control.
2 D 3 Glob-scoped rules cover files across directories.
3 A 3 Personal variants go in ~/.claude/ under a new name.
4 C 3 context: fork isolates verbose output.
5 B 3 argument-hint prompts for missing arguments.
6 D 3 User-scoped commands are not shared.
7 A 3 @import includes exactly the files a package needs.
8 C 3 Small, clear changes suit direct execution.
9 B 3 Architectural choices with alternatives suit plan mode.
10 D 3 The interview pattern surfaces unknowns first.
11 A 3 Interacting issues go in one message.
12 C 3 Independent issues are fixed one at a time.
13 B 3 Specific input and expected output fix edge cases.
14 D 3 /memory shows which memory files are loaded.
15 A 3 * matches one level; **/* matches all levels.
16 C 1 Coordinators choose subagents per query.
17 B 1 Partition scope to avoid duplication.
18 D 1 Goals and quality criteria let subagents adapt.
19 A 5 Claim-source mappings preserve provenance.
20 C 1 Subagent context must be passed explicitly.
21 B 5 Dates stop temporal differences looking like contradictions.
22 D 5 Structured error context enables recovery.
23 A 2 Scope tools by role; add narrow cross-role tools.
24 C 5 Fit format to content type.
25 B 1 Iterative refinement until coverage is sufficient.
26 D 5 Structured upstream output saves downstream context.
27 A 5 Proceed with partial results and annotate gaps.
28 A, B 5 Failure type and attempted query, plus partial results and alternatives. 29 C 5 Mitigate position effects with ordering and headers.
30 B 1 Fork from a shared baseline.
31 D 5 Case facts survive summarisation.
32 A 5 Honour explicit requests for a human immediately.
33 C 5 Policy gaps trigger escalation.
34 B 2 Distinguish empty results from access failures.
35 D 1 Programmatic prerequisites enforce order.
36 A 1 Hooks guarantee hard limits.
37 C 2 Better descriptions are the first fix.
38 B 1 Structured hand-offs for humans without the transcript.
39 D 5 Per-issue structured records for multi-issue sessions.
40 A 5 Trim tool output to relevant fields.
41 C 5 Sentiment is not complexity; use explicit criteria.
42 B 1 Identity verification gates order tools.
43 D 5 Ask for identifiers instead of guessing.
44 A 2 Non-retryable business errors with explanations.
45 A, B 5 Explicit requests and policy gaps are triggers.
46 C 4 Nullable fields prevent fabrication.
47 B 4 Forced tool selection guarantees that tool.
48 D 4 any guarantees a call when the type is unknown.
49 A 4 Schemas do not catch semantic errors.
50 C 4 Retry with error feedback.
51 B 4 Absent information cannot be retried into existence.
52 D 4 Normalisation rules and few-shot examples.
53 A 4 No mid-request tool calls in batches.
54 C 4 Up to 4 hours waiting plus up to 24 hours processing.
55 B 4 Refine on a sample before large batches.
56 D 5 Prioritise low-confidence and ambiguous documents.
57 A 5 Stratified sampling measures ongoing error rates.
58 C 5 Segment-level weaknesses keep human review.
59 B 4 unclear handles genuine ambiguity.
60 A, B 4 Document, failed extraction and specific errors.
Scoring. 48 or more correct (80%) suggests readiness. Domain counts in this exam: Domain 1 has 10 items, Domain 2 has 4, Domain 3 has 15, Domain 4 has 12 and Domain 5 has 19. Together, Practice exams 2 and 3 give 120 items across all five domains and all six scenarios. Tempting wrong answers in Practice exam 3
# Tempting answer Why it fails
1 C A skill must be invoked; the rule must always apply (4.2).
2 A A directory CLAUDE.md misses packages/*/components/ (4.3).
3 B Uncommitted edits to a shared file are fragile and confusing (4.2).
4 A Restricting tools does not isolate output (4.2).
5 D required is not a skill frontmatter field (4.2).
6 A Restarts do not share a user-scoped file (4.2).
7 B Pasted copies drift from the source (4.1).
8 A Plan mode adds overhead to a clearly specified change (4.4).
9 D The complexity is known up front; plan from the start (4.4).
10 B A long spec reflects only what you already know to ask (4.5).
11 B Fixing interacting bugs one by one causes churn (4.5).
12 A Mixing independent fixes makes each harder to verify (4.5).
13 A "Handle nulls properly" is vague; examples are precise (4.5).
14 A Version differences are possible, but loaded memory is the likelier cause (4.1). 15 C A directory file fixes one folder, not the pattern (4.3).
16 A Caching hides the cost; the routing is still wrong (2.2).
17 A Deduplicating afterwards still wastes the search effort (2.2).
18 A More procedure means less adaptability (2.3).
19 C A URL list at the end loses which claim came from where (6.6).
20 A Model size cannot compensate for missing input (2.3).
21 A Discarding older data loses valid history (6.6).
22 A Endless retries delay without informing the coordinator (6.3).
23 D A prompt rule is weaker than scoping the tools (3.3).
24 D Uniform bullets suit no content type well (6.6).
25 A A fixed pipeline cannot respond to gaps (2.2).
26 B A larger model does not remove the noise in its input (6.1).
27 B Aborting wastes the four successful searches (6.3).
28 D A full transcript buries the useful context (6.3).
29 B Shuffling moves the blind spot around without removing it (6.1).
30 A Re-running research is costly and changes the baseline (2.7).
31 C A larger window delays but does not protect the fact (6.1).
32 B The customer has already asked; investigating first ignores them (6.2).
33 A Refusing treats a policy gap as a "no" (6.2).
34 C Retrying "no such customer" wastes calls (3.2).
35 A Examples improve but do not guarantee ordering (2.4).
36 B The prompt cannot guarantee a cap (2.5).
37 B A keyword router is over-engineered as a first step (3.1).
38 D Sentiment does not help a human resolve the case (2.4).
39 B A larger window does not separate the issues (6.1).
40 B Telling the model to ignore data it still sees is unreliable (6.1).
41 A A higher threshold on the wrong signal is still the wrong signal (6.2).
42 A Skipping verification is exactly what the gate prevents (2.4).
43 A Order count is a heuristic (6.2).
44 B The error is a policy outcome, not a timing problem (3.2).
45 C Tone is not a trigger (6.2).
46 A The required field still pressures the model to fill it (5.3).
47 A auto allows a text reply (5.3).
48 A auto allows a text reply; forcing one tool guesses the type (5.3).
49 D Types are enforced by the schema (5.3).
50 B Storing invalid data pushes the error downstream (5.4).
51 A Feedback cannot create missing information (5.4).
52 B A regex cannot interpret "about three feet" (5.2).
53 D Results are matched by custom_id, not order (5.5).
54 B Forgets the wait for the next submission window (5.5).
55 C The synchronous API costs twice as much at this volume (5.5).
56 A Random review wastes scarce reviewer time (6.5).
57 C Self-audits are not independent measurement (6.5).
58 A The average hides the weak segment (6.5).
59 C Forcing the first match hides ambiguity (5.3).
60 C Temperature does not tell the model what was wrong (5.4).