Every lesson in this course ended with an interview callout: a question, a weak answer and a strong one. The weak answers were rarely wrong. They named a technique or a term and stopped. The strong ones explained why, compared alternatives, and made a choice. This page makes that pattern explicit, so you can use it on questions you have never seen.
How do you answer a verification question you have not prepared for?
The obvious preparation is to memorise definitions and best practices. Interviewers at senior and principal level deliberately ask questions that have no memorised answer ("how would you verify this?", "is this enough?") and then probe with follow-ups. A memorised answer runs out at the first follow-up; a reasoned one extends naturally.
Step | Say | Example: "directed or random tests for this FIFO?" |
|---|---|---|
Constraint | What makes the question hard, or what must hold | The bugs are at boundaries (full, empty, wrap) and in simultaneous push and pop. |
Options | Two or three real alternatives | Directed tests for each boundary; constrained random with bias; formal on the pointers and count. |
Trade-off | What each gains and costs | Directed is cheap but only finds what we thought of; random finds the unexpected but needs a model and coverage; formal is complete for the control logic but says nothing about data integrity end to end. |
Choice | What you would do and why, and what would change it | Formal on count and pointers, random with a scoreboard for data, a few directed tests for bring-up; I'd revisit if the FIFO were parameterised (then configurations matter). |
Four short steps, perhaps a minute of speech. The choice is the most important part: interviewers want to hear a decision, not a survey.
Name the oracle: almost every verification question hides "how do you know the answer is right?" (lesson 2.1).
Give a concrete example, ideally one you built or ran: "in the course's router, the covered hunt caught all 24 planted bugs; formal caught 9".
Use numbers with their source, and label illustrative ones: "a 64-bit adder has 2^128 input pairs" is arithmetic; "verification is 60% of effort" needs a citation.
Say what would change your mind: it shows the choice is reasoned, and it invites the follow-up you are ready for.
Admit the edge of your knowledge and reason from first principles past it, rather than bluffing.
Asked: "Our coverage is 98%. Are we done?"
Step | Answer |
|---|---|
Constraint | Coverage shows what stimulus reached, not what was checked or what was never planned. |
Options | Look at the 2% holes; look at what is excluded; check detection with planted bugs or mutation; look at the bug rate per unit of effort; compare evidence with the plan's features. |
Trade-off | Closing every hole may cost more than its risk; planted bugs cost a few days but show whether checks work. |
Choice | I'd ask for the holes by cause, the exclusions with reviewers, a mutation or planted-bug run, and the effort-normalised bug curve, then decide with a residual-risk statement. 98% alone doesn't answer it. |
Trap | Better |
|---|---|
Listing every technique you know | Choose two or three and compare them |
"It depends" and stopping | "It depends on X; if X, I'd do A, otherwise B" |
Tool syntax instead of reasoning | The reason first; syntax only if asked |
Absolute claims ("formal proves it's correct") | Scope them ("proves these properties under these assumptions") |
Hiding a gap | "I haven't done that; here is how I'd reason about it" |
Kind of question | Where the reasoning lives |
|---|---|
"How would you check this?" | Parts 2 and 5: oracles and checks |
"How would you test this?" | Parts 3, 4 and 6: observability, stimulus, coverage |
"Would you use formal?" | Part 7 |
"How would you plan this?" | Parts 9 and 17 |
"Is this enough?" | Parts 12 and 14 |
"What changes for X?" | Part 15 |
Constraint, options, trade-off, choice (with what would change it).
It names no dependency and makes no decision; a strong answer says what it depends on and what you would do in each case.
Answer with constraint, options, trade-off and choice.
Name the oracle, give a concrete example, scope your claims.
Say what would change your mind; it prepares the follow-up.