It happens to many candidates that they feel confident about their performance after the interview but get very disappointed when they don’t receive an offer. If you have ever experienced this, then you should read this post. In this article, we will present the most common reasons why candidates get rejected and how to avoid these scenarios.
1. They don’t ask clarifying questions
It’s very common for candidates to start talking about their solution once given the question. As a candidate, you need to start asking questions to ensure that you have a clear and proper understanding of the problem and to find out about the possible edge cases. Some popular questions to consider (depending on the question) for a coding interview are:
- What is the size of the input? (if the input can fit in a memory or if you need another type of storage)
- If the input is string, ask if it contains English characters or Unicode. For English characters, sometimes a simple fixed-size array can significantly simplify the solution while not wasting a huge amount of memory.
- Can the input contain invalid values like null, negative numbers, empty string, etc?
- Whether the input can have duplicates or not.
- What is the range of the input? (e.g. if the Integer.MIN_VALUE can be an input)
- If the input is a linked list, ask if it’s a singly or doubly linked list. Also, ask about the possibility of a loop.
Sometimes, the questions are intentionally vague and you need to define the format of input/output.
2. They jump to the coding or designing of the system
Ideally, you should explain your solution to the interviewer first, before you start to write code or draw any diagrams. Communicate your assumptions and validate them with the interviewer. This is especially important for system design questions where you are usually given a vague and generic system to design.
3. Not thinking loudly
Articulate your thoughts during the whole session. When you think loudly, the interviewer understands what you are talking about and can even guide you to the right path to avoid wasting any time. If you don’t speak, the interviewer won’t know if you are simply stuck and need help or if you know what you are doing. Note that the interviewers are not your enemies and you should welcome any chance to help you.
4. Writing pseudo-code
Unless instructed by the interviewer, you are expected to write a clean, compliable, and clean code. Many companies don’t ask you to run your code but still expect your code to be runnable. Pseudo-code might indicate that you are a good problem solver but it definitely doesn’t show that you are a good coder.
5. Not writing a maintainable code
As mentioned before, your code should be clean and easy to understand. Due to the limited interview time, you might be tempted to use abbreviations and non-meaningful names for your methods, variables, etc. to save time. However, you should remember that using meaningful names doesn’t take much time from you and actually positively impacts your interviewer’s judgment about your coding skills. Furthermore, it helps you to prevent future mistakes in your coding.
6. They declare that they are done right after finishing the code
It is very common amongst candidates to think that their job is done after they write the last line of code. What they fail to realize is that leaving the code untested is a red flag even if their code works like a charm. Instead, as a candidate, you should try to come up with various test cases. Your test cases should have happy/unhappy paths and edge cases at the absolute minimum. Communicate with the interviewer that you want to test your code with test cases. Avoid having test cases with large inputs as it might take you a long time to validate while not adding that much value.
7. Behavioral questions are underestimated
Many talented candidates perform well in the technical questions but still fail the interview because of a lack of preparation for the behavioral part. In many cases, you might not do well in a technical interview but still get the job due to success in the behavioral section. On the other hand, it is highly unlikely that you will be offered a position without successfully passing the behavioral interviews. Some companies like Amazon take the behavioral part (called Leadership Principles) so seriously that they might not give the candidates another interview, even after one year, if the candidate shows a red flag in the interview. Their justification is simple and valid. Technical skills are easily coachable but proper leadership skills take a long time to develop. That’s why TechMockInterview offers separate programs for behavioral mock interview and behavioral interview mentorship.
How can we help?
TechMockInterview.com provides both mock interview and mentorship sessions for various interview types including but not limited to coding, system design, ML engineer, and management. Our professional interviewers from top companies supply candidates with an experience similar to real interviews. At the end of the interviews, candidates are provided with valuable feedback about their strengths and areas which have room for improvement.
We recommend taking mentorship sessions well before the interview appointment to allow sufficient time to work on the areas suggested for improvement. Consider mock interviews to be a viable tool for greater success in your interviews with the vast insight they provide into how typical industry interviews are carried out, what to expect and how to prepare yourself in advance for the real thing.