Why Most People Fail Technical Interviews
I failed Google interviews twice before succeeding. Then I interviewed dozens of candidates. Here is why people fail.
Interview Prep
Before getting accepted to Google I actually failed the interviews twice.
I have a background in applied mathematics, but I always had one interview deep in computer science that I couldn't answer. I actually decided to go on and take a Master's in computer science to learn more, and finally I passed the interviews.
After I joined and started working at Google, I used GDPR to request the interview feedback logs from my previous failed attempts (this works in the EU). Reading the interviewers' raw notes was a revelation. It confirmed exactly where I had been going wrong, I got insights I wish I had known years earlier.
When I started working at Google I quickly wanted to start interviewing people. After 6 months working there one can start interviewing. I interviewed people for L3 and L4 level positions. Based on my dozens of interviews, here are the reasons why most people fail:
1. Not clarifying requirements
This is in my experience the number one thing leading to rejections, especially in the later rounds. A lot of candidates assume things about the problem and start implementing a solution to the wrong problem.
The reality: You are intentionally not given all the information. They try to find out if you can spot ambiguity. This is an essential skill for an engineer, the importance of this cannot be stressed enough.
The fix: Don't rush to write code. Make sure you understand the problem first. Ask if you need to check against edge cases (empty input etc), don't just assume.
2. Not being quick enough
The Google interview problems are not the most difficult, but they require fluency. The issue for candidates is usually not to come up with the idea, it's to implement it.
I had numerous candidates who stumbled when implementing a breadth-first search algorithm. If you interview with Google you should be able to comfortably implement these more basic algorithms.
3. Lack of communication
Many candidates fail to communicate how they think. As an interviewer I cannot easily assess a candidate who doesn't communicate well. Communication is an important skill, which is valued at Google. Make sure that you share how you are thinking, interviewers know that we can have bad ideas when brainstorming so don't feel the pressure to only share brilliant ideas. Communicating more openly also helps the interviewer guide you in case you need hints.
4. Bad quality code
Although a less common reason for rejection, it's important to know the programming language you choose and be able to write good code. Make sure to have good variable and function names, create helper functions, and if you can, use language-specific features.
If you are using Python, use list comprehension instead of a for-loop to transform a list.
Don't use "a" as a variable name for a list of nodes, be descriptive, use "nodes".
Why We Built AlgoVoice
It is hard to practice all valuable skills on online coding platforms. The requirements are often well-defined and you don't have to explain your thought process. You also don't have to write good code, which is important for getting hired.
These potential shortcomings are difficult to be aware of. That's why we built AlgoVoice: realistic AI mock interviews calibrated by engineers who've been on both sides of the table. We let you know what you already do well and what you need to improve on to maximize your chances of getting hired.
— Eskil Jarlskog, November 2025