Software Engineer
How do you decide what to test in a new feature, and how do you balance unit tests against integration tests?
What the interviewer is looking for
- This question tests testing & code quality. Explains what deserves tests and why, distinguishes unit from integration tests, and treats readability and refactoring as part of the job.
- Strong answers: Focusing on business logic, edge cases and risky paths, fast unit tests for logic and fewer integration tests for wiring, and avoiding brittle tests of implementation details.
- Likely follow-up: Tell me about a test that caught a real bug before it reached users.
Another way it may be asked: You just built a checkout discount feature. Which parts would you write tests for, and what kinds of tests would they be?
A structure to follow: Answer, explain, example, limits
- Step 1
Answer
Give your direct answer in the first sentence so the interviewer knows where you are going.
- Step 2
Explain
Say how it works or why you would do it that way, in plain words before jargon.
- Step 3
Example
Anchor it in something you have actually done or seen, with the detail that shows hands-on experience.
- Step 4
Limits
Say when your approach would not be the right one. It shows judgement.
This is guidance on shape, not a script. Use your own real experience and facts; never invent details to fill a gap. See the STAR guide and answer frameworks.
Common slips
- Reciting a definition without showing you have applied it.
- Using terms you cannot explain if asked a level deeper.
- Claiming experience beyond what you can discuss in detail.
How to practise it
Say the answer in 90 seconds, then answer the follow-up as if it were a new question.
Related questions
- Your codebase has growing technical debt and there's pressure to ship features. How do you make the case for paying some of it down?
- When would you pick a hash map over a list to store data, and what does that choice cost you?
- Imagine your code works on your laptop but fails in the test environment. Walk me through how you would start figuring out why.
- How do you usually use Git day to day, from starting a piece of work to getting it merged?
- Tell me about the trickiest bug you have tracked down. How did you find the root cause?