You thought you did a great job in the interview and it’s almost for sure you’re gonna get the offer, however after few weeks all you got is a rejection email.
Quite honestly you are not alone. Many people are complaining that the interview results are totally different from their expectations and they truly believed that they were treated unfairly. They are keeping asking why I got rejected from a job when I felt I did a good job.
But majority of the time it’s not the case. After I had many conversations and investigations on this issue, I noticed that in almost all these cases the interview candidate hadn’t had a good enough performance without even knowing.
In this post, I want to use my experiences to help you nail down reasons why some people got rejected when they felt they did well and how to improve. I hope after reading this post you can have a relatively more accurate expectation of your interview performance and clearer picture of your drawbacks.
1. Why is it important to analyze this?
Some people may wonder the purpose to analyze this as they think if I fail, then I fail. All I need is moving on. However having a better understanding of the real cause can help you avoid the same mistakes and significantly improve the chance of getting hired.
One example is that a senior student came to me talking about his experiences years ago. At that time he was trying to find an internship among several startups. Not until his interview for the 4th company did he realize that he failed the past three interviews for the same reason.
Actually whenever the interviewer asked about his future plan, he always said he would go to grad school although he wasn’t 100% sure. Many startups took internship as a way to recruit future full-time employees and when they knew there’s no chance for you to convert after three months, they got less interested in you.
This is an extreme case, but I want to make the point clear that once you know the real cause of the failure, you are more likely to be better the next time instead of repeating the same failure.
2. Don’t trust feedbacks from the interviewer.
Their job is to keep you happy even if you screwed up everything, which is due to both policy and humanity. For companies, they won’t allow to give you the feedback right after the interview and actually they can’t since it may take some time for the hiring committee to evaluate based on the interview process.
For interviewers, it’s hard for them to give people negative feedback the first time they meet each other and I’m pretty sure you’ll have the same feeling when you were an interviewer. This is exactly the reason why so many people had the illusion that they did a great job in the interview.
3. Most of the time, it’s your technical skills.
I did an experiment last month by talking with 18 folks who thought they did well or okay in the interview but failed. For 13 out of 18 of them I’m pretty sure that they didn’t show enough technical skills during the interview. Actually this also resonates with my experiences when I interviewed candidates because most of the time they failed due to the same reason.
Their failures can be categorized in three cases. First, answer is incorrect. It’s possible that your solution doesn’t cover all the cases of the question, or your code just doesn’t work in some circumstances. A more common case is that you failed to provide correct answer or judgement during the discussion. For example, interviewers usually like to ask your time/space complexity and what are those memory used for, but many people didn’t give the correct answer without knowing.
Second, solution is not optimal. You can hardly pass the interview with a brute force solution when the optimal one is much faster. If the interviewer asked you if there were better solutions, you should know that your solution is not optimal.
Last, code is not professional. Inconsistent coding style, no input checking or even pseudo code are all unacceptable. Check 7 Simple Ways to Improve Your Code In Interviews to know more about this.
If you are not sure about this point, either Google search your interview questions or describe the whole process with some experienced engineers, you’ll definitely know the answer. Also don’t ignore those tiny questions that were asked during the discussion, they are equally important.
4. Probably you were just too slow
Normally you will be asked one or two questions in a 45min-1h session depending on the difficulty. A common scenario is that the candidate successfully solved the first question with correct code on the whiteboard, but the interviewer had no time for the second question, thus told the candidate that he did a great job and it’s done.
Another case is that there were 10min left for the second question, the interviewer decided to ask you the question but you were not required to write code. It doesn’t mean that you have no chance for the second scenario, but at least your speed is not good enough as expected.
It might not be easy to know if you were too slow as sometimes the interviewer like to discuss and extend a single question for the whole interview session. The best approach is always describing the whole process in detail (not only the question but the all the discussion) with an experienced interviewer, he will be more likely to know the cause based on his experiences.
Also try to search for solutions of the question and you should have some sense of difficulty given that you have practiced with lots of questions before.
One easy way to improve your speed is to set a timer while practicing, which will also give you some pressure. You won’t know how slow you are until you start tracking the time.
5. Company culture fit
“Why do you want to join company X?” is the most common question for this topic. Although there’s no correct or standard answer, certain responses are clearly bad like I hate my ex-manager or I just want to change an environment etc..
It’s not easy to know if you were having conflict with that company’s culture, but trying to go over all these kind of questions and discussions can definitely be helpful. Also you should always have a clear answer about why you want to join the company and be really familiar with its culture, working style and its product as well. This approach not only helps you be better prepared for the interview, but also let you be aware of whether you are a great fit for the company as the interview is a mutual selection process.
6. Other red flags
Some other small behaviors may contribute to the failure, for example you showed no passion about its product or you may just have very limited experience with it, which is clearly bad as people don’t want to hire someone who knows nothing about the company. Or you were always unconfident about your solution and judgement, which is also not a good sign. We covered this topic at this post 7 Red Flags In Coding Interviews.
It’s important to understand the reason of failure and learn from it. Also having mock interviews with experienced interviewers can also help you figure out your drawbacks.
Of course everyone should work hard to prepare your interview, what’s more important is to understand yourself and prepare in the most efficient way.
Please let me know what you think by leaving a comment.