Skip to content

fix(ch11): improve MC distractor plausibility for 8 weak questions - #31

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

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

Conversation

@calmcoconut

Copy link
Copy Markdown
Owner

Summary

Audit of Chapter 11 multiple-choice questions identified 8 questions where one or more distractors were trivially wrong, used invented terminology, or described obviously impossible behavior — making the correct answer guessable by elimination rather than by knowledge.

This PR replaces all weak distractors with real architectural concepts from adjacent parts of the chapter that a learner could plausibly confuse with the correct answer.


Changes per Question

Q# Topic Issue Fixed
Q2 Unix sort pipeline Replaced "random shuffle" and "parallel disk drives" with hash-file counting and parallel-merge sort driver alternatives
Q4 DFS block sizes Replaced "512-byte" and "dynamic-per-record" with credible 4–16 KB page-cache and 4 MB SSD-block alternatives
Q7 Object store limitation Replaced "1 MB max object size" and "no encryption/ACLs" with gzip-on-write overhead and POSIX lock-overhead alternatives
Q9 Per-node daemon Replaced ZooKeeper/NameNode (wrong cluster layer) with ResourceManager and kube-scheduler (correct layer, wrong role)
Q10 Gang scheduling trade-off Replaced invented "randomized priority batches" and "bare-metal hardware" with real concepts: proportional CPU-share fairness and data-locality placement
Q13 DAG acronym Replaced three made-up acronyms with real competing concepts: Kafka Streams plan, Airflow DAG, and HDFS DataNode graph
Q17 Secondary sort Replaced off-topic "prevents duplicates" option with a targeted distractor about merging sorted partition files
Q22 Spark vs Pandas Replaced nonsensical "Spark only handles unstructured streams" with a plausible-but-wrong claim about Redis intermediate caching

What was NOT changed

  • All correct answers (correct index) are unchanged
  • All explanation text is unchanged
  • All write-type questions, flashcards, and all other app logic are untouched
  • Questions Q1, Q6, Q12, Q14, Q15, Q16, Q19, Q21, Q26, Q28 were already strong and left as-is

Q2:  Replace trivially-wrong "random shuffle" and "parallel disk drives"
     distractors with realistic alternatives about hash-file counting and
     parallel-merge sort drivers.

Q4:  Replace implausible "512-byte" and "dynamic-per-record" options with
     credible 4-16 KB page-cache alignment and 4 MB SSD-block alternatives.

Q7:  Replace obviously-false "1 MB max size" and "no encryption/ACLs"
     options with plausible gzip-on-write and POSIX lock-overhead alternatives.

Q9:  Replace off-layer ZooKeeper/NameNode distractors with the
     ResourceManager and kube-scheduler — correct-layer but wrong-role answers.

Q10: Replace invented "randomized priority batches" and "bare-metal hardware"
     distractors with real scheduling concepts: proportional CPU-share fairness
     and data-locality placement.

Q13: Replace three entirely-made-up acronyms (Data Access Gateway, etc.) with
     real competing concepts: Kafka Streams execution plan, Airflow DAG, and
     HDFS DataNode graph — all plausible but incorrect in this context.

Q17: Replace the off-topic "prevents duplicates during shuffle" option with a
     more targeted distractor about merging sorted partition files.

Q22: Replace the nonsensical "Spark only does unstructured streams" option
     with a plausible-but-wrong claim about Redis intermediate caching.
@calmcoconut
calmcoconut merged commit fb2080c into main Jun 30, 2026
1 check passed
@calmcoconut
calmcoconut deleted the fix/ch11-mc-distractors branch June 30, 2026 22:41
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