Sign in to keep reading
“Phase One: The Bug” is free with an account. Your progress and bookmarks follow you across devices.
Sign in to continueNEW: ML Mock & Coaching with a 20+ year experience coach. Save $20 on sessions for Premium.ML Mock & Coaching now available
NEW: ML Mock & Coaching with a 20+ year experience coach. Save $20 on sessions for Premium.ML Mock & Coaching now available
Minutes 0 to 24 of the session. Reading before prompting, reproducing the failure, writing a prompt worth sending, and catching a generation that is confidently wrong.
“Phase One: The Bug” is free with an account. Your progress and bookmarks follow you across devices.
Sign in to continueTwenty-four of the forty minutes go here, and only about six of them involve typing code. That ratio is the single most surprising thing about a strong run in this round.
What most candidates do. Select all, paste into the chat panel, type why is this broken?. Thirty seconds gone, and the work has started.
What it costs. The interviewer is watching to see whether you can make sense of code you did not write. That was the question. You just forwarded it to the model, in the first minute, in full view. Everything after this is coloured by it.
What to do instead. Read the file. Four minutes on twenty-five lines sounds indulgent and is not — it is the highest-leverage stretch of the entire session.
Reading is not a general skill here, it is a search for specific things. On this file:
allow() is the entry point, but the decision is really self.tokens >= 1, and everything that matters is upstream of it in _refill(). That is the function to understand.refill_rate, is documented in the docstring as tokens per second — and that word per is the whole bug. You cannot find an arithmetic error without knowing the intended arithmetic.Narrate it, and defend the time rather than apologising for it:
"Let me read this properly before I touch anything — I want to know what it's supposed to do before I decide what it's doing wrong."
Notice that the one fact that cracks this problem came from a comment, not from the logic. refill_rate is tokens per second, and _refill adds refill_rate flat, with no reference to how much time passed.
That is typical. The intended behavior is usually written down somewhere — a docstring, a test name, a variable name — and the bug is the gap between that and the code. Skipping the reading pass means skipping the only statement of intent you had.