Handling what you do not know

"You're asked something you genuinely don't know. What do you do?"

What it is

The set of responses to a question outside your knowledge, and the observation that this is tested deliberately. A staff interview will reach the edge of your knowledge, on purpose, because how you behave there predicts how you behave in production when a system does something nobody expected.

FOUR RESPONSES, and only two are good

BLUFF          Answer confidently and wrongly.
               Detected within one follow-up, and it
               retroactively discounts everything you said
               before it.

DEFLECT        "That's not really my area."
               True and useless. It ends the conversation
               and demonstrates nothing.

ADMIT AND STOP "I don't know."
               Honest, and it leaves the interviewer with
               nothing to score.

ADMIT AND      "I don't know. Here's how I'd find out, and
REASON         here's what I'd expect based on adjacent
               things I do know."
               The answer.

Commonly confused with a failure state. The interviewer is often not testing the fact; they are testing the edge. A candidate who reasons well from incomplete knowledge is more useful than one who has memorised more facts, because production regularly presents problems nobody has memorised.

The problem it solves

Bluffing is the single most expensive mistake available in a technical interview, and it is expensive in a specific way:

You bluff on question 4. The interviewer probes and finds
the bottom of it.

Now:
  - question 4 is a fail
  - questions 1 to 3 are re-examined: were those bluffs too?
  - questions 5 onward are heard sceptically
  - the interviewer's note says "confidently wrong", which
    is the worst thing that can be written about a staff
    candidate

*** One bluff costs more than three "I don't know"s. ***

And the reason it matters beyond the interview: a staff engineer who cannot say "I don't know" is dangerous. They make confident assertions in design reviews that others build on, and the cost lands months later.

Mechanics

The four-part response

1. SAY YOU DO NOT KNOW, PLAINLY AND QUICKLY.
   No hedging, no "well, it depends", no talking around it.
   "I don't know" or "I haven't worked with that."
   Getting this out fast is what buys credibility for the
   rest.

2. SAY WHAT YOU DO KNOW THAT IS ADJACENT.
   "I haven't used Cassandra, but I've worked with DynamoDB,
   and I'd expect the partition key considerations to be
   similar because both are..."
   This is where the reasoning is demonstrated.

3. REASON TOWARD AN ANSWER, LABELLED AS REASONING.
   "So my guess would be X, and here's why. I'd want to
   verify that."
   The label matters: an unlabelled guess is a bluff.

4. SAY HOW YOU WOULD FIND OUT.
   "I'd read the section of the docs on compaction, and I'd
   test it with a small experiment because the documentation
   for this kind of thing is often optimistic."
   Specific, not "I'd look it up."

Step 2 is where the value is. Almost nothing is genuinely disconnected from what you know, and reasoning from an adjacent system demonstrates exactly the transferable understanding a staff loop is trying to measure.

Worked, on a question outside the candidate's experience

Q: "How does Kafka's exactly-once semantics interact with
    compacted topics?"

BAD (bluff)
  "It works the same way, the transaction coordinator
   handles it." (Confidently wrong, probed in one question.)

BAD (deflect)
  "We didn't use compaction." (True, and it stops here.)

BAD (admit and stop)
  "I don't know." (Honest, unscoreable.)

GOOD
  "I don't know that specific interaction, so let me reason
   about it and then tell you what I'd check.

   What I do know: exactly-once in Kafka is the idempotent
   producer plus transactions, and consumers need
   read_committed to not see aborted messages. And log
   compaction keeps the latest value per key and removes
   older ones in the background.

   So the interesting question is what compaction does to
   the transaction markers, because a consumer needs those
   to know which messages are committed. My guess is that
   compaction has to preserve them, or at least preserve
   enough state that read_committed still works, because
   otherwise a compacted topic couldn't support
   transactional reads at all.

   What I'd check: whether transaction markers are exempt
   from compaction, and what happens to the last-stable-
   offset on a compacted topic. I'd look at the KIP that
   introduced transactions and test it with a small
   producer-consumer pair, because this is exactly the kind
   of thing where the documented behaviour and the actual
   behaviour diverge."

What that demonstrates, none of which required knowing the answer: that the candidate understands exactly-once's mechanism, understands compaction's mechanism, can identify where two mechanisms interact, can form a hypothesis with a reason, and has a verification instinct. That is more staff-level signal than the correct fact would have been.

Knowing which kind of unknown it is

Different unknowns deserve different responses, and misclassifying is a separate mistake.

A FACT I HAVE NOT MEMORISED
  "What's the default value of X?"
  -> Say you would look it up, and move on quickly. Do not
     reason at length about a lookup. Reasoning about a
     constant looks like padding.

A SYSTEM I HAVE NOT USED
  "How does Vitess handle resharding?"
  -> Full four-part response. Reason from the systems you
     do know.

A DOMAIN I HAVE NOT WORKED IN
  "How would you design for HIPAA compliance?"
  -> Say what you do not know, ask what constraints matter
     here, and reason about the general shape: data
     classification, access control, audit, retention. And
     say you would involve counsel, because "I'd get a
     lawyer" is the correct answer to a legal question and
     candidates avoid it.

A QUESTION WITH NO ANSWER
  Sometimes the interviewer is probing whether you will
  invent one.
  -> "I don't think there's a general answer to that. It
     depends on X and Y, and here's how I'd decide in a
     specific case."

The fact-versus-system distinction matters practically: reasoning at length about a default value wastes the interviewer's time and looks like you are avoiding admitting a gap. Reasoning at length about an unfamiliar system is exactly what they want.

Calibrating confidence out loud

Signalling how sure you are, continuously, is what makes the whole interview more credible.

"I'm confident about this."
"I'm fairly sure, maybe 80 percent."
"I think this is right but I'd verify it."
"I'm speculating here."
"I don't know."

Using the full range rather than only the extremes is the signal. A candidate who says everything with equal confidence is either bluffing sometimes or under-selling their strong answers, and both are worse than accurate calibration.

And the consequence is asymmetric in your favour: a candidate who has said "I'm speculating" three times has earned belief when they say "I'm confident about this."

When you realise you were wrong mid-answer

"Actually, let me correct myself. I said X, and thinking
 about it, that's wrong because Y. It's actually Z."

This is a POSITIVE signal, not a recovery. It demonstrates
that you monitor your own reasoning, which is exactly what
you want in someone making architectural decisions.

What is negative is defending an answer you have realised is
wrong, and interviewers can usually tell the difference
between someone thinking and someone digging in.

The one time to guess

If the interviewer explicitly asks you to:
  "I know you haven't seen this. What's your instinct?"

Then guess, and label it: "My instinct is X, and I'd put
maybe 60 percent on it, for this reason."

Refusing to guess when invited reads as risk-aversion, which
is its own negative signal at staff level. The invitation is
usually a test of whether you can commit to a position under
uncertainty, which is a large part of the job.

A worked example: the same gap handled two ways

Q: "Walk me through how you'd debug a Kubernetes pod that's
    being OOM-killed, when the JVM heap looks fine."

THE CANDIDATE HAS NOT DEBUGGED THIS SPECIFIC THING.

VERSION A (bluffs, then unravels)
  "You'd look at the heap settings and increase the memory
   limit."
  Q: "Heap is fine and at 40% of the limit. What else?"
  "Maybe a memory leak?"
  Q: "In what?"
  "...the application?"
  -> Three questions to the bottom. Note reads
     "surface-level".

VERSION B (reasons from adjacent knowledge)
  "I haven't debugged this exact case, so let me reason
   about it.

   The key fact is that the container's memory limit counts
   ALL memory in the cgroup, not just heap. So heap being
   fine and the container being killed means the memory is
   somewhere outside the heap.

   The candidates, roughly in order of how often I'd expect
   them: metaspace, which isn't in the heap and grows with
   loaded classes; direct byte buffers, which NIO and Netty
   use heavily and which are off-heap by design; thread
   stacks, which at 1 MB default times a few thousand
   threads is gigabytes; and native allocations from
   something like a compression or crypto library.

   How I'd narrow it: NativeMemoryTracking on the JVM to
   get the breakdown, and compare the container's RSS
   against the JVM's reported total, because the gap is the
   native allocation. If NMT accounts for it, it's one of
   the JVM regions; if it doesn't, it's a native library.

   And the thing I'd check first, because it's the cheapest:
   whether MaxRAMPercentage is set, because a JVM that
   doesn't know it's in a container will size the heap
   against the host's memory rather than the limit."

Version B does not know the answer either. It knows that the cgroup counts more than heap, which is one fact, and everything else is derived. That is the demonstration, and it is worth more than having debugged this exact case before.

Production evidence

Structured interview research consistently finds that assessing reasoning process predicts job performance better than assessing knowledge recall, which is why interviewers deliberately push to the edge of a candidate's knowledge rather than staying within it.

Amazon's "Are Right, A Lot" leadership principle is explicitly paired with "seek diverse perspectives and work to disconfirm their beliefs", and Amazon's interviewer guidance treats willingness to be wrong as part of the signal rather than a deduction.

Google's published interview guidance tells candidates to think aloud and states that the process is being assessed, not only the answer, which is the same instruction as labelling your reasoning.

The Dunning-Kruger literature and the broader work on calibration is the basis for the confidence-signalling advice: accurate self-assessment is itself a measurable skill, and people who use the full confidence range are better calibrated than those who use only the extremes.

Postmortem culture in SRE practice rests on the same behaviour: an engineer who cannot say "I was wrong about the cause" makes incident reviews useless, which is why the trait is assessed rather than tolerated.

The debate

The case for admitting gaps immediately: honesty is cheap, bluffing is catastrophic when detected, and the reasoning demonstration is worth more than the fact. Interviewers explicitly value it.

The case against over-admitting: a candidate who says "I don't know" to six questions has demonstrated a knowledge gap regardless of how well they reasoned, and at some point the cumulative signal is that the candidate does not know enough for the level. There is a real threshold.

The case for attempting an answer: some interviewers read an immediate "I don't know" as giving up, particularly if the question was answerable by reasoning, and attempting it is what they wanted.

My position: say you do not know quickly, then reason from adjacent knowledge, and label the reasoning as reasoning.

The speed matters. Hedging around a gap for thirty seconds before admitting it is worse than admitting it in three, because the hedging reads as an attempted bluff that failed, and the interviewer has watched you decide whether to try it.

The labelling is what separates reasoning from bluffing, and it is a single phrase: "so my guess would be X, and I'd want to verify that". Without it, the same words are a confident assertion and are scored as a bluff if wrong. An unlabelled guess is a bluff regardless of intent.

On the cumulative-gaps objection, which is real: the answer is not to admit fewer gaps, it is that reasoning well converts a gap into a partial pass. Six "I don't know"s is a fail; six "I don't know, here's how I'd reason about it" answers where three of the reasonings are good is a mixed but recoverable signal, and the difference is entirely in what follows the admission.

The behaviour I would highlight as a positive rather than a recovery is correcting yourself mid-answer. It demonstrates that you monitor your own reasoning, which is precisely what you want in someone whose design-review assertions others will build on. Defending an answer you have realised is wrong is the negative, and interviewers can usually tell the difference.

Where I would push back on the conventional advice: when explicitly invited to guess, guess. "I know you haven't seen this, what's your instinct" is a test of whether you can commit to a position under uncertainty, and refusing reads as risk-aversion, which at staff level is its own negative. Label the confidence and commit.

Follow-up Q&A

"What do you do when you don't know something?" Four things, in order. Say I don't know, plainly and fast, because hedging around it for thirty seconds is worse than admitting it in three. Say what I know that is adjacent, which is where the reasoning gets demonstrated. Reason toward an answer and label it as reasoning, because an unlabelled guess is a bluff regardless of intent. And say specifically how I would find out, not "I'd look it up" but which document and what experiment.

"Why is bluffing so costly?" Because it is detected in one follow-up and it is retroactive. Question four is a fail, questions one to three get re-examined as possible bluffs, everything after is heard sceptically, and the note says "confidently wrong", which is the worst thing that can be written about a staff candidate. One bluff costs more than three admissions. And beyond the interview, a staff engineer who cannot say "I don't know" makes confident assertions in design reviews that others build on.

"Doesn't admitting too much look bad?" There is a real threshold, and the answer is not to admit fewer gaps but that reasoning well converts a gap into a partial pass. Six flat "I don't know"s is a fail. Six "I don't know, here's how I'd reason about it" answers where several reasonings are good is a mixed but recoverable signal, and the entire difference is in what follows the admission.

"Give me an example of reasoning from adjacent knowledge." For a JVM being OOM-killed in a container with the heap looking fine: I might not have debugged that exact case, and I know that the container's limit counts everything in the cgroup, not just heap. So the memory is outside the heap, and the candidates are metaspace, direct byte buffers, thread stacks and native library allocations. Then NativeMemoryTracking to get the breakdown, comparing container RSS to the JVM's reported total, because the gap is native. That is one fact plus derivation, and it is more signal than having seen it before.

"Are all unknowns the same?" No, and misclassifying is its own mistake. A fact I have not memorised, like a default value, deserves "I'd look it up" and moving on quickly, because reasoning at length about a constant looks like padding. A system I have not used deserves the full four-part response. A domain I have not worked in, like HIPAA, deserves saying what I do not know, asking which constraints matter, reasoning about the general shape, and saying I would involve counsel, which candidates avoid and which is the correct answer to a legal question.

"What if you realise mid-answer that you were wrong?" Say so immediately: "let me correct myself, I said X and that's wrong because Y". That is a positive signal rather than a recovery, because it demonstrates you monitor your own reasoning, which is exactly what you want in someone making architectural decisions. The negative is defending an answer you have realised is wrong, and interviewers can usually tell the difference between thinking and digging in.

"Should you ever guess?" Yes, when explicitly invited. "I know you haven't seen this, what's your instinct" is a test of whether you can commit to a position under uncertainty, and refusing reads as risk-aversion, which at staff level is its own negative. Guess, label the confidence, and give the reason: "my instinct is X, maybe sixty percent, for this reason".

"How do you signal confidence during the rest of the interview?" By using the full range rather than only the extremes. "I'm confident about this", "fairly sure, maybe eighty percent", "I think so but I'd verify", "I'm speculating", "I don't know". A candidate who says everything with equal confidence is either bluffing sometimes or under-selling their strong answers. And it compounds in your favour: someone who has said "I'm speculating" three times has earned belief when they say "I'm confident".

Common misconceptions

"Admitting a gap is a fail." It is unscoreable only if you stop there. Reasoning from adjacent knowledge converts it into a demonstration of exactly what a staff loop measures.

"Reasoning out loud sounds like waffling." Not if you label it: "this is a guess and here's why" is a completely different act from an unlabelled assertion.

"Interviewers ask things they expect you to know." They deliberately reach the edge, because behaviour at the edge predicts behaviour in production.

"You should attempt every question." For a memorised constant, reasoning at length is padding. Say you would look it up and move on.

"Correcting yourself looks bad." It is a positive signal. Defending an answer you know is wrong is the negative one.

Interview delivery note

The whole point is behavioural, so the delivery note is the technique itself.

The phrase to have ready, so you are not composing it under pressure: "I don't know that one. Let me reason about it and then tell you what I'd check." Then the adjacent knowledge, then the labelled guess, then the specific verification.

Get the admission out fast, because hedging around a gap is what reads as an attempted bluff: "I haven't worked with that" in three seconds is much better than thirty seconds of "well, it depends on the configuration" before arriving at the same place.

Label every guess: "so my guess would be X, and I'd want to verify that". That single phrase is what separates reasoning from bluffing, and without it the same words are scored as a confident assertion.

Use the confidence range throughout the rest of the interview, not just at the gaps, because it is what makes the range meaningful: "I'm confident about this one" only carries weight if you have also said "I'm speculating here" somewhere.

And if you realise you were wrong, say so immediately and plainly: "Let me correct myself." It is a positive, and hoping the interviewer did not notice is the worse bet.

Further reading

  • Google's "How we hire" guidance on thinking aloud and on process being assessed alongside the answer.
  • Amazon's leadership principles, particularly "Are Right, A Lot" paired with the disconfirming-evidence framing.
  • The calibration literature (Lichtenstein, Fischhoff and Phillips on calibration of probabilities), for why using the full confidence range is itself a skill.
  • Schön, The Reflective Practitioner, for reasoning under uncertainty as the defining professional skill rather than an exception to it.