Module Quiz
Complete this quiz after finishing all concept and practice pages. Save your answers before opening separate quiz calibration.
Current Module Questions
Question 1: Contract vs Implementation
In one paragraph, distinguish the API contract from the implementation. Give one concrete thing that belongs in each, and one thing that is easy to get wrong.
Question 2: Design This Endpoint and Defend - Cancel an Order
Design the endpoint used by a client to cancel an order. Give URL, verb, request body, success response, one conflict response. Defend the URL choice against DELETE /orders/{id} and against PATCH /orders/{id}.
Question 3: HTTP Verbs and Idempotency
Rank GET, POST, PUT, PATCH, DELETE by idempotency as defined in the HTTP spec, and explain one technique to make a non-idempotent operation retryable.
Question 4: Design This Endpoint and Defend - Paginated List With Filter
Design GET /tickets supporting pagination, filtering on status and priority, sorting by created_at, and sparse fieldsets. Write one example request and the response envelope. Defend your pagination choice.
Question 5: Breaking vs Non-Breaking
A response currently returns { "total": 4599 } (integer minor units). Your PM wants to add currency info. Propose a non-breaking change. Then propose a breaking alternative and explain why it is breaking.
Question 6: REST vs gRPC Decision
A new internal service with 6 methods will be called by 3 other internal teams, all using Go. Pick REST or gRPC and defend.
Question 7: GraphQL N+1
Sketch a GraphQL query whose naive execution triggers N+1, then explain the mitigation.
Question 8: Webhook Delivery Guarantees
A webhook consumer receives payment.succeeded events. List the three guarantees they must design around and the client-side mechanism for each.
Question 9: AsyncAPI and Event Compatibility
A team wants to rename customer_id to customerId in their orders.paid.v1 event payload. Safe or breaking? What do you do?
Question 10: Deprecation Plan
Write a mini deprecation plan for removing GET /v1/orders/{id}/legacy_status. Include headers, runway, and the removal response.
Question 11: Design This Endpoint and Defend - Bulk Import
Design the endpoint a consumer calls to import 2 million orders from a CSV file. Defend every design decision.
Question 12: Versioning Strategy Defense
Your API supports /v1/ URL versioning. A colleague proposes switching to header-based date versioning "because Stripe does it." Should you?
Question 13: Status Code Discipline
A validation fails on POST /orders because items is empty. The team proposes 200 OK { "success": false, "error": "items required" }. Argue against.
Question 14: Governance Tradeoff
Your org has 8 teams shipping APIs independently. What is the single cheapest governance step that materially improves consumer experience?
Question 15: Design This Endpoint and Defend - Search
A client needs to run complex order queries with up to 20 filter predicates, free-text search, and custom facets. Design the endpoint. Defend against GET /orders?filter=....
Interleaved Review Questions
Prior Module Question 1 (S7M1: Architecture quality attributes)
Name four architecture quality attributes and relate each to one API design decision in this module.
Prior Module Question 2 (S7M3: Bounded contexts)
How does a bounded context inform where API boundaries go?
Prior Module Question 3 (S6M3: Consistency)
How does CAP theorem affect the ordering guarantees you can offer in a webhook feed?
Prior Module Question 4 (S6M4: Transactions)
A consumer calls POST /orders, the request succeeds, and the client's connection drops before the 201 arrives. What should the client do and what should the contract promise?
Prior Module Question 5 (S7M2: Modular monolith vs microservices)
You are splitting a modular monolith into two services. What does API design owe the split?
Self-Assessment and Remediation
Mastery Level (90-100% correct): Retrieval is strong. Advancement still requires every module and semester evidence gate; this score alone is insufficient.
Proficient Level (75-89% correct): Review the missed concept pages and redo Practice 1 (REST workshop) or Practice 3 (evolution lab), whichever matches the weakness.
Developing Level (60-74% correct): Rework Clusters 2 and 5 from the concept pages; redo Katas 1 and 4. Expect the weakness to be in verb/status discipline or compatibility classification.
Insufficient Level (<60% correct): Restart from Cluster 1 Concept 1. The most likely issue is treating the API as "the code" rather than "the contract." Until "what is the contract here?" is a reflex question, the rest of the module does not stick.
Progression boundary
Quiz performance calibrates retrieval and reasoning. It does not replace runnable work, changed-case transfer, the module assessment or required semester evidence. Consult practice calibration for the additional independent cases.