Table of Contents
A technical interview is the only interview that is harder than an actual job. There are a lot of resources online on how to crack the coding interview. But here, I will give you my perspective and the pathway to how I would approach now after failing interviews at Google, Microsoft, and Amazon.
Yes, I did not clear technical interviews for these tech giants. I failed in my first round of technical interviews with Google and Amazon. I could not clear a screening test for Microsoft and get rejected after five rounds of interviews at Amazon for another position. Before this, I got rejected from all these companies even before any screening or technical interviews. But luckily, I got interviews from all these companies after 20 to 30 rejections, but I still did not get the job.
Before I tell you what I did wrong and how you can benefit from it, my one piece of advice is please read the job description and make changes to your resume accordingly. If your resume doesn’t match the job description, you won’t get an interview no matter how good you are. There are a lot of blogs and YouTube videos out there from which you get help. There are some free and paid tools that will analyze your resume based on the given job description and give some suggestions.
So, what did I do wrong?
The main three things that I did wrong are:
- I did not prepare properly for competitive coding
- I did not try to understand data structures at their core level.
- I did not know how to give a technical interview
My first interview was with Amazon. The interview date was in the first week of January 2022, I got 15 to 20 days to prepare. Why only 15 to 20 days you ask? Because I applied for this position 4 months ago and I applied for other positions as well and I did not receive any response so far. So when suddenly they ask me for an interview they specifically asked me to choose a date within the next 2 weeks. I applied for more than 20 positions in the last 2 years and did not hear back from any of those and when I got the chance for the interview it was out of the blue. So, I tried my best to do whatever I can in those days.
The second thing that I did wrong was not knowing how things are working. I knew most of the data structures but no one asked me in detail how they work internally, and I was not aware they ask in such detail. Sometimes, these questions depend on the language you choose as well. For example, if I choose Python as my preferred programming language then I should be aware of how dictionaries in Python work. Their low-level data structure and complexities.
The third and the biggest mistake I made was not knowing how to give a technical interview. We think we know this and that so, we will be able to clear the interview. But that is not the case. You might be excellent at problem-solving but if you can’t explain why you chose this method and why not the other one then my friend, you got a lot of thinking to do.
There might be some other things that I might have done unknowingly, or I am not aware of those yet. But I believe, these three are the major points where I failed the interview.
So, what should you do to not repeat the same mistake?
1. Be Prepared for anything!
If you have a plan to apply, or you aim to get into any tech giant or huge organization start preparing for competitive coding. And start it NOW! I have never seen anyone get a job without going through competitive kinds of questions. There are so many resources available online LeetCode, HackerRank, HackerEarth, CodeSignal and many more. It does not matter which one you choose, choose any. The main goal of doing this is to improve your logical and problem-solving skills. 99% time you will not see the same question. If you can spare some money then try to get LeetCode premium or any other service where you can see and try out past interview questions. The main reason for suggesting LeetCode is there is a discussion section where you can see other people’s solutions and ask questions as well. I am not sure if any other platform is providing this or not.
2. Data structure & Algorithms
Understand and learn every Basic DS and Algorithm. I am not saying they won’t ask you difficult or any other kind of concepts but there will be fewer questions related to complex algorithms compared to basic ones. Select your language and understand all core concepts and the underlying mechanism of its data structure as I mentioned earlier. I am not asking you to be an expert, but you should just have at least the basic idea.
You might be a topper of your class, but it does not mean you will be able to handle the pressure of an interview. So revise everything, whatever you can. Because confidence is the key!
4. Understand How to Give an Interview
I have given many interviews, but I never knew how to give a proper interview. One day while exploring YouTube I came across one video that showed me how to give an interview and I get to know what I was doing wrong. I have attached that video but the point of that video was to show the interviewer what you are thinking. Why you are thinking like this what are you planning to do? Interviewees don’t want to just stare at you and wonder what that idiot is thinking! They are checking if you will be able to communicate your idea with the team or not.
Watch this video and see how Rachit Jain is explaining his thinking while solving the problem.
That is all I got for you today. I hope, I was able to show some mistakes that I made during and before my interviews. My intention for this blog is to show you the mistakes I made, not to show you the right path. There are a lot of things you need to prepare for the interview apart from DS and Algorithm and these requirements change depending on the job description. So, I suggest starting with general competitive coding it will be common for every position and once you get an interview for a specific position then learn, read and understand accordingly. There are plenty of YouTube videos from every big company out there.