Interview bookGroundworkInterview book
16 / 27 written chapters

R10 · Part 3 · The people rounds

Resume grilling

Everything on your resume is a promise. This round collects on it. Write a real, specific answer to each of these before your first interview — not a script, the actual facts, so that in the room you are recalling rather than improvising.

4 questions12 follow-ups1 trap7 min read
Length
30–45 min
Who
Architect or hiring manager
Decides
Whether the rest of the resume is trustworthy
Fail mode
A number you cannot defend

Everything open, top to bottom.

06On this page
  1. Every number on your resume, one at a time
  2. Draw the architecture of one of your applications.
  3. What is the worst technical decision you have made, and what did it cost?
  4. If you have written standards for a team, give me three rules and why each exists.
  5. Tell me about a production incident.
  6. The rest of the grilling
The rule for every number below

If you cannot defend a figure, do not remove it from the resume — reframe it in the room. "That was our internal estimate from log counts rather than an instrumented measurement, so I would treat it as directional" is a completely acceptable sentence and it costs you almost nothing. Inventing a methodology on the spot and then contradicting yourself two questions later ends the interview.

R10.1

Every number on your resume, one at a time

What they are really testingWhether you measure or whether you write resumes.

They will pick one figure off your resume at random, so prepare every one of them — each percentage, duration, cost and user count. Next to each, write four facts before your first interview: the period it covers, the tool it was measured in, the baseline it moved from, and the verified change. Filled in with placeholders, it looks like this:

On the resumePeriodMeasured inBaselineVerified change
<N>% fewer production errors<the weeks before and after the fix><the error tracker, or the log search><errors a week before><errors a week after, and how long it held>
<N>% faster page loads<the release it shipped in><Lighthouse, or field data><the p75 on which pages, and which metric><the p75 a month later>
<N> users<as of when><the analytics tool, or a database query><where it started><how many were active in a month>

Once those four facts are written down, expect these ten follow-ups:

  1. Which number here are you least sure of? Name it before they find it, and say how you would firm it up.
  2. Was it your work, or the team's? Say which part you did, and who else moved the number.
  3. What else changed at the same time? A release, a marketing push or the season can move a number as much as your fix did. (If you do not know, say you do not know — that is the honest and correct answer.)
  4. Which pages, which metric? "Faster" means nothing until you say which pages, and whether it was the largest paint, the time to interactive or the full load.
  5. What did it look like before, step by step? For a time saving, walk through what used to take the time.
  6. How do you measure something fuzzy? For boilerplate, name the proxy. (Lines of state-management code per feature is a defensible one. Say it in exactly those words.)
  7. Registered, or active? Have the daily or monthly active figure ready. (Registered is a vanity number and a good interviewer knows it.)
  8. Adopted by whom? A usage figure needs its denominator: who could have used it, and how many did.
  9. What did it cost? Every improvement traded something — build time, complexity, a feature cut. Name it.
  10. Could you do it again somewhere else? Say what you would look at first on a system you have never seen.

Prepare each one in the four-beat form from R4.14: measured → diagnosed → changed → verified. Any answer that has all four beats survives; any answer missing "measured" does not.

R10.2

Draw the architecture of one of your applications.

What they are really testingWhether you can produce the diagram of a system you claim to have architected. Fumbling this is the fastest way to lose a room.

Pick the one you know best and practise drawing it in ninety seconds, on paper, three times tonight. What has to be on the board:

  • The client and how it is served.
  • The reverse proxy or load balancer in front.
  • The services and what each one owns.
  • The datastores — database, cache, file storage — and what each holds.
  • The integrations with outside services, and which direction the calls go.
  • The environments and what differs between them.
  • Where any real-time data comes from.

Draw the boxes, then draw the arrows with direction, then label the arrows with the protocol. Most candidates draw boxes and stop; the arrows are where the architecture actually lives.

They will push with
  1. Where is the bottleneck?
  2. What would you change if you started again tomorrow?
  3. What happens if the cache goes down?
How did you do?
R10.3

What is the worst technical decision you have made, and what did it cost?

What they are really testingSelf-awareness. "I care too much about code quality" fails this instantly and is remembered.

Pick something real, medium-sized and genuinely owned by you. The shape: the decision → why it looked right at the time → what it actually cost, concretely → how you found out → what you did about it → the rule you now carry.

A common one is committing to a state-management or rendering approach in week one of a project and paying the migration cost later. If you have lived that — a Redux store chosen before anyone knew the shape of the data, say — tell it honestly and end with a real rule: "I now decide state management after the first three features rather than in week one, because the shape of the state is not knowable at the start."

The answer that loses the room

Two failure modes. One: a fake weakness ("I take on too much"). Two: a decision that was not yours, told as though it was — interviewers probe, and the story collapses when they ask what you would have done differently and you have no answer because you never made the call.

They will push with
  1. How long did it take you to notice?
  2. Who else was affected?
  3. What stopped you from seeing it earlier?
How did you do?
R10.4

If you have written standards for a team, give me three rules and why each exists.

What they are really testingWhether you wrote standards or copied them.

Have three ready, each with its reason attached. Rules without reasons sound borrowed:

  • Every endpoint returns the same error envelope. Because otherwise every client writes bespoke error handling per call, and the third one gets it wrong.
  • No business logic in a controller. Because a controller can only be tested through HTTP, so logic that lives there is logic nobody tests.
  • Validation at the boundary with unknown properties stripped. Because it prevents both malformed data and mass assignment, and it means every layer below can trust its inputs.

Then be ready for the harder question underneath: how did you get the team to follow them? The honest answer — documented, enforced in code review, and where possible automated with a lint rule or a shared base class, because a standard that depends on remembering is a standard that decays.

They will push with
  1. How do you handle someone who disagrees with a standard?
  2. Which of your own rules do you break, and when?
  3. How do you introduce a standard to an existing codebase?
How did you do?
R10.5

Tell me about a production incident.

What they are really testingThe single highest-signal behavioural question for a senior engineer. Have one prepared in full detail.

Structure: what broke → how you found out → what you did in the first ten minutes → the root cause → the change that made recurrence impossible.

Two things that separate a good answer:

  • Restore first, diagnose second. If your story has you debugging before rolling back, expect to be marked down at any level above three years.
  • The prevention has to be structural. "We were more careful after that" is not a fix. "We added a constraint / an alert / a test that would have caught it" is.

And "how you found out" matters more than people expect: if the answer is "the client told us", say so honestly and then say what monitoring you added so that it would not be the client next time.

They will push with
  1. How long was it down?
  2. What did you tell the client?
  3. Did it happen again?
How did you do?
R10.6

The rest of the grilling

What they are really testingDepth behind each resume line.

  • What is the largest data volume you have worked with?
  • What is the highest traffic you have personally handled? (Answer honestly. If it is small, "Not high by product-company standards — <your number> users. What I have depth in is the delivery and reliability side of that" is a fine answer; inflating it is not.)
  • How do you decide what to test? What is your coverage on the services you designed? (Prepare this one — if testing is missing from your most recent roles on the resume, they will notice.)
  • Describe your code review standard. What do you actually reject a PR for?
  • How do you mentor a junior? Name a specific person and what changed for them.
  • How do you estimate? When were you last badly wrong, and what did you do about it?
  • How do you handle a client asking for something you think is a bad idea?
  • Which part of your stack do you know least well? (Answer it. Refusing to name one is worse than any answer you could give.)
  • What have you learned in the last six months? (Have a real, specific answer — the React Compiler, the Next 16 caching model, something you actually read.)
  • What would your current lead say your weakness is?
  • Why have you changed jobs as often as you have? (If each move came after a year or more, it is not a red flag. Have the arc: each move added scope — for example feature work, then ownership, then architecture.)
  • Walk me through a piece of code you are proud of. (Have one. Ideally on GitHub, ideally something you can open.)

Finished this round?

0 of 27 rounds read in this book