Thinking Aloud in Technical Interviews: A Practical Guide
In a technical interview the answer is often worth less than the route to it. A candidate who reaches a reasonable design while explaining each choice usually scores higher than one who goes quiet for five minutes and then presents a better one. The interviewer cannot score what they cannot hear.
This is true for whiteboard design questions, live troubleshooting scenarios and coding exercises alike. The interviewer is trying to answer a question that a finished answer does not settle: what would it be like to work through a problem with this person? Thinking aloud is how you let them see it.
It is a skill, not a personality trait. Most people stop talking when they concentrate, and the habit can be practised in a few sessions.
What the interviewer is writing down
Interview rubrics for technical rounds vary by company, but most of them score some version of these four things:
- Clarifying the problem: did you ask about the requirements and constraints before you started, or did you solve the problem you assumed?
- Structure: did you break the problem into parts and handle them in a sensible order?
- Trade-offs: when there was a choice, did you name the options and explain why you picked one?
- Checking your work: did you test your answer against the requirements, look for failure cases, and correct mistakes you found?
A correct final answer is usually one line on that sheet. The rest is the process, and the process only exists for the interviewer if you say it.
A shape for the first five minutes
Most of the damage in technical interviews happens at the start, when the candidate begins designing before the problem is clear. A simple routine for the opening:
- Restate the problem in your own words. "So we need a service that takes uploaded files, scans them, and makes them available to other teams within a minute. Is that right?"
- Ask about scale and constraints. How many users, how much data, how fast, what budget, what is already in place?
- State your assumptions out loud when the interviewer does not give numbers. "I'll assume around a thousand uploads an hour, peaking at five times that. Tell me if that's off."
- Say your plan before you follow it. "I'll start with the simplest version that works, then look at where it breaks as the load grows."
This takes two or three minutes. It is not time lost: interviewers often hold back details on purpose to see whether you ask.
Design questions
"Design a system that..." questions have no single right answer. The interviewer wants to see you make decisions and defend them.
Talk in terms of choices, not components. "I'd put a queue between upload and scanning" is a component. "I'd put a queue between upload and scanning, because scanning is slow and I don't want an upload to fail when the scanner is busy; the cost is that files are not available immediately" is a decision. The second sentence gives the interviewer something to score and something to push back on.
When the interviewer pushes back, treat it as information rather than a correction. "Good point. If the files can be up to 10 GB, the queue should carry a reference to the file, not the file itself." Changing your design in response to a new constraint is a positive signal. Defending a choice that no longer fits is a negative one.
Troubleshooting questions
"A service is slow since this morning. What do you do?" questions are common for infrastructure, DevOps and security roles. They test whether you work from evidence or from guesses.
A useful pattern is to say what you would check, why, and what each result would tell you:
First I'd check whether it's slow for everyone or for some users, because that tells me whether to look at the service or at the path to it. Then I'd look at what changed since this morning: deployments, config, certificates, traffic. If there was a deploy, I'd compare the latency graph against the deploy time. If the two line up, rolling back is the fastest test of the theory.
The interviewer will usually give you results as you go ("latency is up only for users in one region"). Say how that changes your next step. Interviewers are watching whether your plan changes when new facts arrive.
Our guides to CV keywords for DevOps engineers and system engineers list the tools interviewers in those roles tend to ask about. The interview questions for DevOps, security and infrastructure roles give examples by role.
Coding exercises
For live coding, the same principles apply on a smaller scale:
- Say what the function should do and try one example by hand before writing code.
- Describe the approach in a sentence before you type. If there is a simple but slow solution, say so and ask whether to start with it.
- Narrate while you write, but don't read the code aloud character by character. "Now I'm handling the empty list" is enough.
- When you finish, walk through your example and one edge case out loud.
If you see a better approach halfway through, say so: "This works, but it reads the whole file into memory. If the files are large I'd stream it instead. Do you want me to change it?" Noticing the limit of your own solution scores well.
When you are stuck
Silence is the hardest thing to recover from, because the interviewer cannot help someone who is not saying where they are. Say what you know and what is missing:
- "I know I need to deduplicate these events, and I'm deciding between doing it at write time or at read time."
- "I'm not sure how this tool handles that case. I'd check the documentation; for now I'll assume it does X."
- "I've gone down the wrong path. Let me go back to the requirement about ordering."
All three of these are good answers. They show that you can identify the gap in your own knowledge, which is a large part of real technical work. Many interviewers will give a hint once you name the problem clearly, and using a hint well is part of what they score.
Saying "I don't know" about a specific fact is also acceptable when it is followed by how you would find out. What hurts is guessing with confidence and being wrong.
How to practise
Thinking aloud does not improve by reading about it. Two cheap ways to practise:
- Pick a design or troubleshooting question related to your role, set a 20-minute timer, and solve it out loud while recording yourself. Listen back for long silences and for decisions you made without saying why.
- Do the same with a colleague or friend playing interviewer. Ask them to interrupt with one new constraint halfway through.
Three or four sessions are usually enough to make talking while thinking feel normal.
FAQ
What if talking slows me down?
It will, a little, and interviewers expect that. They plan the time assuming you will explain your reasoning. A slightly slower answer that the interviewer can follow scores better than a fast one they cannot.
Should I keep talking the whole time?
No. Short pauses to think are fine; say that you are taking one ("Let me think about the failure case for a moment"). What you want to avoid is several minutes of silence with no signal of where you are.
Is it bad to ask the interviewer questions during the exercise?
No, it is expected, especially at the start. Asking about requirements and constraints is one of the things the rubric usually scores. Asking the interviewer to solve the problem for you is different; asking which of two directions matters more to them is not.
How is this different from the STAR method?
STAR is for describing something you did in the past. Thinking aloud is for solving a problem in front of the interviewer now. A technical round can include both: a question about a past incident is a STAR answer, as covered in our STAR method guide, while a live design question is a thinking-aloud answer.
Technical interviewers start from your CV and ask about the tools on it. Upload your CV to Job4Fit and see which skills a recruiter will find and, against a job posting you save, which ones are missing for the role. Free during beta.
Check your CV for free