Chapter 11: Quiz

Instructions: Select the best answer for each question. Answers are provided in the collapsed sections below each question.


Question 1

What are the three stages of the fundamental feedback loop in vibe coding?

A) Design, implement, test B) Prompt, response, evaluation C) Write, compile, debug D) Specify, generate, deploy

Answer **B) Prompt, response, evaluation** The feedback loop consists of providing instructions (prompt), receiving AI output (response), and assessing the output against your requirements (evaluation). The evaluation feeds back into the next prompt, creating the iterative cycle described in Section 11.1.

Question 2

In the critique-modify-improve (CMI) cycle, what is the purpose of the "improve" phase?

A) Fix bugs and errors in the code B) Add missing features that were in the requirements C) Elevate quality beyond mere correctness toward elegance and best practices D) Start over with a completely new implementation

Answer **C) Elevate quality beyond mere correctness toward elegance and best practices** The critique phase identifies what is wrong, the modify phase requests targeted changes, and the improve phase pushes for better naming, cleaner architecture, improved performance, or more elegant solutions --- going beyond just fixing problems to raising overall quality (Section 11.2).

Question 3

Which of the following is the strongest steering technique?

A) "Maybe consider using asyncio." B) "You might want to look at asyncio as an alternative." C) "You must use asyncio. Do not use threading." D) "What do you think about asyncio?"

Answer **C) "You must use asyncio. Do not use threading."** Section 11.4 explains that the strength of your language should match the importance of the correction. Strong, unambiguous language ("must," "do not") is appropriate for fundamental direction changes, while softer language is suitable for style preferences.

Question 4

What is the "big bang" anti-pattern?

A) Starting a project with no requirements B) Asking the AI to generate an entire complex system in one prompt C) Using too many follow-up prompts D) Deleting all code and starting from scratch

Answer **B) Asking the AI to generate an entire complex system in one prompt** Section 11.3 warns against the big-bang approach because errors in early parts propagate, you cannot validate intermediate decisions, and debugging a large output is much harder than debugging small, incremental outputs.

Question 5

Which follow-up prompt pattern asks the AI to evaluate its own output?

A) Targeted Fix B) Feature Addition C) Refactor Request D) Quality Gate

Answer **D) Quality Gate** The Quality Gate pattern (Section 11.5) asks the AI to review its own code for potential issues like race conditions, unhandled edge cases, performance concerns, or security vulnerabilities, and then fix any problems it finds.

Question 6

According to Section 11.6, what is the "infinite refinement trap"?

A) When the AI produces infinite loops B) When each iteration introduces more bugs than it fixes C) When you keep refining past the point of useful improvement D) When the conversation grows too long for the context window

Answer **C) When you keep refining past the point of useful improvement** The infinite refinement trap occurs when developers continue iterating for diminishing returns. The jump from "broken" to "working" is enormous, but the jump from "well-structured" to "perfectly elegant" is often negligible in practical terms.

Question 7

What is the recommended number of iterations for production code?

A) 1-2 B) 3-7 C) 10-15 D) As many as possible

Answer **B) 3-7** Section 11.6 provides context-dependent iteration ranges: prototype (1-2), internal tool (2-4), production code (3-7), and library/public API (5-10+).

Question 8

In the scaffold-and-fill pattern, what does the "scaffold" step produce?

A) Unit tests B) Documentation C) The overall structure with stub implementations D) A detailed specification document

Answer **C) The overall structure with stub implementations** The scaffold-and-fill pattern (Section 11.3) first generates the complete module structure with stub implementations (functions with `pass`, placeholder return values), then fills each stub with real implementation one at a time.

Question 9

When should you start a fresh conversation rather than continue steering?

A) After any failed iteration B) When the AI's response is not perfect C) When a fundamental architectural flaw permeates the entire solution and three+ steering attempts have failed D) Whenever you have a new requirement to add

Answer **C) When a fundamental architectural flaw permeates the entire solution and three+ steering attempts have failed** Section 11.4 identifies signals for starting fresh: fundamental architectural flaws, more than three failed steering attempts, accumulated context confusing the AI, or significantly changed understanding of requirements.

Question 10

What is progressive disclosure in the context of vibe coding?

A) Gradually revealing your code to the AI line by line B) Deliberately revealing requirements to the AI in stages C) Progressively removing context from the conversation D) Slowly increasing the complexity of your prompts

Answer **B) Deliberately revealing requirements to the AI in stages** Progressive disclosure (Section 11.8) means revealing requirements in stages rather than all at once, which reduces cognitive load on the AI, produces better architecture, and creates natural validation points.

Question 11

Which characteristic is NOT listed as essential for effective follow-up prompts?

A) Specific B) Bounded C) Verbose D) Purposeful

Answer **C) Verbose** Section 11.5 lists four characteristics of effective follow-up prompts: specific (identify exactly what to change), bounded (limit scope), contextual (reference existing code by name), and purposeful (explain why the change is needed). Verbosity is not a virtue in follow-up prompts.

Question 12

What is the "rubber duck effect" in vibe coding?

A) The AI repeating back exactly what you said B) Using the AI as a thinking partner, where the conversation itself generates insights C) Debugging by reading code aloud D) A testing technique where you simulate user input

Answer **B) Using the AI as a thinking partner, where the conversation itself generates insights** Section 11.9 describes how the rubber duck effect goes beyond traditional rubber duck debugging. Unlike an actual rubber duck, the AI responds, challenges assumptions, and helps explore design spaces. The conversation itself often reveals insights, not just the AI's specific answers.

Question 13

In the layered approach to incremental building, which layer should be built first?

A) Performance optimization and edge cases B) Error handling and validation C) Core business logic D) Basic structure and data models

Answer **D) Basic structure and data models** Section 11.3 presents the layered approach with Layer 1 (basic structure, data models, skeleton) at the bottom, followed by Layer 2 (core business logic), Layer 3 (error handling, validation, logging), and Layer 4 (performance optimization, edge cases, polish).

Question 14

What is conversation branching?

A) Splitting code into multiple files B) Creating parallel branches in Git C) Exploring an alternative approach without abandoning the current one D) Asking the AI to generate multiple solutions at once

Answer **C) Exploring an alternative approach without abandoning the current one** Section 11.7 defines branching as exploring an alternative approach while keeping the current one in mind, useful when you want to compare architectures, evaluate performance characteristics, or assess alternatives suggested by stakeholders.

Question 15

Which of the following is an example of the "Comparative Critique" technique?

A) "Line 23 catches a generic Exception." B) "This implementation uses nested loops giving O(n^2). Can you use a hash map for O(n)?" C) "Function names should be snake_case." D) "When I pass an empty list, this returns None instead of an empty dict."

Answer **B) "This implementation uses nested loops giving O(n^2). Can you use a hash map for O(n)?"** Section 11.2 categorizes critique techniques. Comparative critiques compare the current approach against a better alternative, typically involving algorithmic complexity, design patterns, or performance characteristics.

Question 16

When should you NOT use progressive disclosure?

A) When building a simple CRUD application B) When architectural decisions depend on later requirements C) When prototyping a new idea D) When working on a personal project

Answer **B) When architectural decisions depend on later requirements** Section 11.8 states that progressive disclosure is inappropriate when architectural decisions depend on later requirements, when the AI needs to design for extensibility, or when requirements are tightly coupled and features interact heavily.

Question 17

What is the recommended approach when you discover your conversation has grown too long?

A) Continue anyway; more context is always better B) Delete the conversation and start completely from scratch C) Start a new conversation with a clear summary of where you are D) Ask the AI to summarize the entire conversation

Answer **C) Start a new conversation with a clear summary of where you are** Section 11.7 recommends starting a new conversation with a condensed context block, referencing the technique from Chapter 9, or breaking work into independent modules that can each be their own conversation.

Question 18

What is the Explore-Compare-Decide pattern used for?

A) Evaluating AI tools against each other B) Making important architectural decisions by comparing alternative implementations C) Testing different prompting strategies D) Comparing code performance benchmarks

Answer **B) Making important architectural decisions by comparing alternative implementations** Section 11.7 describes this pattern as: explore Option A, explore Option B, compare tradeoffs between them, and decide based on your constraints. It is specifically designed for important architectural decisions where the right choice is not obvious.

Question 19

In the system-building workflow (Section 11.10), which phase should come first?

A) Vertical slice B) Foundation building C) Architecture conversation D) Horizontal expansion

Answer **C) Architecture conversation** The system-building workflow begins with an architecture conversation where you discuss the design without writing code. This is followed by foundation building, vertical slice, horizontal expansion, cross-cutting concerns, and hardening.

Question 20

What is a "vertical slice" in the context of building complex systems?

A) A single column in a database table B) One complete feature path from API to database C) A performance optimization for a specific operation D) A unit test that covers all layers

Answer **B) One complete feature path from API to database** Section 11.10 describes a vertical slice as implementing one complete feature end-to-end (e.g., API endpoint, service layer, database operations) to establish patterns that can be replicated for other features during horizontal expansion.

Question 21

Which of the following is a follow-up prompt anti-pattern?

A) "Update the validate_input function to handle Unicode characters." B) "Can you make it better?" C) "Add retry logic with exponential backoff to the API client." D) "Split process_order into validate, calculate, and persist functions."

Answer **B) "Can you make it better?"** Section 11.5 identifies "The Vague Nudge" as an anti-pattern because it gives the AI no direction about which dimension of quality to improve. Effective follow-ups are specific, bounded, contextual, and purposeful.

Question 22

According to the chapter, what do iteration metrics help you do?

A) Grade the AI's performance B) Justify billing hours to clients C) Improve your own prompting effectiveness over time D) Determine which AI model to use

Answer **C) Improve your own prompting effectiveness over time** Section 11.10 explains that tracking metrics like iterations per feature, backtrack rate, time to "good enough," and common correction types helps you identify patterns in your own process and improve. For example, if you consistently make the same corrections, you should incorporate those requirements into your initial prompts.

Question 23

The hybrid approach to requirements disclosure involves:

A) Using both voice and text prompts B) Combining progressive disclosure with strategic foreshadowing of future requirements C) Mixing specification-driven and conversational prompting D) Using multiple AI tools simultaneously

Answer **B) Combining progressive disclosure with strategic foreshadowing of future requirements** Section 11.8 describes the hybrid approach as implementing current requirements while giving the AI a heads-up about future additions, e.g., "Build basic auth now, but design with extensibility for OAuth and 2FA later."

Question 24

What should you include when starting a fresh conversation after a failed approach?

A) An apology for wasting the AI's time B) Only the original prompt, verbatim C) Everything you learned from the failed attempt incorporated into clearer requirements D) A detailed log of every failed turn

Answer **C) Everything you learned from the failed attempt incorporated into clearer requirements** Section 11.4 advises that when starting fresh, you should not simply repeat your original prompt but instead incorporate everything learned from the failed attempt into clearer, more specific requirements.

Question 25

Which statement best captures the core insight of Chapter 11?

A) The goal of vibe coding is to minimize the number of prompts needed. B) A perfect initial prompt eliminates the need for iteration. C) Vibe coding is not about writing the perfect prompt; it is about conducting an effective conversation. D) AI works best when given all requirements in a single, comprehensive prompt.

Answer **C) Vibe coding is not about writing the perfect prompt; it is about conducting an effective conversation.** The chapter's closing line and central thesis: "The prompt is just the beginning. The real skill lies in what you do with the response." The entire chapter argues that iterative refinement through skilled conversation, not single-shot prompting, is the core competency of vibe coding.