This bank collects the questions interviewers and design reviewers actually ask about coherence, grouped by the Parts of the course that answer them. Each question has the same six fields: what the interviewer is testing, a weak answer, a strong answer that would score a 4, likely follow-ups, the common trap, and the lesson that teaches the mechanism. Strong answers use the course's four-step framework, Assumption, Mechanism, Trade-off, Evidence, and the course notation: acks collected at H, the course model of C0, C1, H and memory, and named protocols and specifications.
Read only the question, cover the table and answer aloud or on paper in about two minutes. Then compare with the strong answer and grade yourself with the Grading Rubric. Where you missed a step, read the lesson in the "Taught in" row before trying the follow-ups. Repeat a lesson's questions a week later in a different order. The Answer Framework explains the four steps; the weak answers show the most common ways to lose marks, usually by skipping the assumption or the evidence.
Lesson | Questions | After it you can... |
|---|---|---|
10 | State SWMR and the data-value invariant, compare MSI, MESI and MOESI, and choose between snooping and a directory. | |
10 | Walk misses, upgrades, forwards and writebacks, and resolve the classic races with MSHRs, ack counting and credits. | |
10 | Separate coherence from consistency and give litmus verdicts, fence, acquire/release, atomic and LR/SC answers per named model. | |
10 | Explain value checking, reference models, assertions, coverage of races and silicon triage. | |
10 | Argue directory scaling, LLC policy, NUMA, locks, real protocols, devices, power and RAS with numbers. |
Suggested order: Fundamentals first, then Transactions and Races, since every later answer reuses their traces. Ordering, Verification and Debug, and Architecture can follow in any order; take them after the matching Parts of the course.
Because the answer depends on the protocol and on C0's state. In settled MSI with C0 in S, memory is current and H answers from memory. In MESI with H recording exclusive(C0), H must send Fwd-GetS to C0 even if C0 is still a clean E, because H cannot tell E from M after a silent store. In MOESI with C0 in O, C0 is the dirty-responsible holder and supplies it while memory stays stale. Whether the data then goes through H or straight to C1 is a further choice (four-hop or three-hop). A strong answer names these assumptions first.