Skip to content

fix(ch05): improve MC distractors to reduce guessability - #35

Merged
calmcoconut merged 1 commit into
mainfrom
fix/ch05-mc-distractors
Jun 30, 2026
Merged

calmcoconut merged 1 commit into
mainfrom
fix/ch05-mc-distractors

Conversation

@calmcoconut

Copy link
Copy Markdown
Owner

Summary

This PR improves the quality of wrong answer choices (distractors) across 11 multiple-choice questions in Chapter 5. The goal is to ensure no answer can be eliminated by tone or plausibility alone — every option should require actual content knowledge to dismiss.

Problem

Several distractors were "obviously absurd" — referencing physical hardware lifespans, gibberish CPU operations, or logical impossibilities (e.g., "transmit raw memory references over a network"). These made the correct answer identifiable by process of elimination without knowing the material.

Changes by Question

Question Distractor(s) Changed Replacement Strategy
Q1 (Language-specific serialization) C, D Replaced with real but subtly wrong claims about versioning and self-documentation
Q4 (Protobuf payload size) D Replaced gibberish float claim with plausible "delta encoding" wrong answer
Q5 (Protobuf removed tag rule) D Replaced "shift tag numbers" with a tempting but wrong migration script answer
Q7 (Avro vs Protobuf payload) C, D Replaced with near-miss answers about per-record schema prefix and Avro-uses-tags confusion
Q8 (Avro schema resolution) D Replaced brute-force guess with plausible embedded version-tag lookup answer
Q10 (Data outlives code) A, C Replaced hardware/SSD lifespan nonsense with real distributed systems concerns
Q13 (DB query vs service API) A Replaced write-only restriction nonsense with inverted reality (APIs expose full schema)
Q14 (RPC location transparency) A Replaced C++ requirement nonsense with real compile-time coupling concern
Q16 (Durable execution purpose) A, C Replaced index rebuild / encryption nonsense with plausible distributed locking and state caching
Q17 (Durable execution reorder) C, D Replaced CPU vectorization / cached binary nonsense with realistic operator-pause and drain behaviors
Q19 (Message broker advantage) A Replaced memory reference nonsense with plausible but wrong exactly-once claim
Q21 (CSV nested structures) question reworded, D Q reworded to be harder; swapped YAML for MessagePack as a more credible distractor
Q22 (REST API versioning) A, C Replaced purge-records and TCP port nonsense with TLS negotiation and body-field versioning
Q26 (Avro field backward compat) C Replaced capital-letter nonsense with near-miss union type answer

No Logic Changes

  • All correct answers (correct: 1) are unchanged
  • All explanations, flashcards, and modelAnswer fields are unchanged
  • No UI or app logic was modified

Replaced absurd/gibberish wrong answers with plausible near-miss
distractors across 11 questions (Q1, Q4, Q5, Q7, Q10, Q13, Q16,
Q17, Q19, Q21, Q22, Q26). All new wrong answers are grounded in
real but subtly incorrect concepts to prevent trivial elimination.
@calmcoconut
calmcoconut merged commit 77ade07 into main Jun 30, 2026
1 check passed
@calmcoconut
calmcoconut deleted the fix/ch05-mc-distractors branch June 30, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant