Can you crack the Microsoft interview in just 2 months? Yes, it is possible with proper planning and discipline. Actually, it applies to any interview preparations. I did that!!
Life before Microsoft
I am not an IITian but my dreams are no less. I did my engineering in Information Technology from Pune University and like every 90’s kid, I was suggested to get a job to cover my expenses and be satisfied with it. But I was not. I knew that I wanted to achieve Big, and working in one of the FAANGs was my Dream. Thus, I started planning my Big Switch just after finishing my first year of professional experience.
But less did I know that coding skills alone were not enough to get a dream job with a 6 figure salary.
So, you might ask, what else is required?
With great coding skills, you also need to have:
- Awesome data structure knowledge
- Awareness of most algorithms
- System-level designing skills
There was a lot to learn and I had noticed others preparing for many months to just get to the first round of the interview. Another thing that I noticed was that people were quitting in the middle of the preparation due to such a hectic and lengthy process.
It was very clear that I needed a crisp plan that can be executed quickly.
- Learn data structures
- Practice problems
- Read about algorithms
- Read System designing
- Start applying
There is a lot of material available online on each of the above topics but it might come as a disadvantage as it may waste time instead of helping. Thus, I decided to stick to a few resources only:
- “Cracking the coding interview book” for data structures and problems
- “GeeksForGeeks” for problems practice
- “Youtube videos” for system design
- A mentor for mock interviews, to give honest and brutal feedback.
Choice of programming language is also important, so I selected C++ even though I was not using it in my professional life. I was very comfortable with it.
Another important thing that I have noticed was that the interview questions were not very direct, especially in the case of algorithms. So algorithms were something which I decided to go leniently on.
I contacted an old friend who was working at Microsoft and asked him to be my mentor. He got convinced after 30 mins of pleading. His main action items were to keep me on track and periodically take mock interviews.
Believe me or not, that was one very important step I took in my life. Having a mentor came as a boon for me and I think that worked as a catalyst to all my hard work to make my big switch come true.
Then came the more detailed & clear plan, that also in phases;
PHASE 1 (first 30 days)
- Read data structures from the book “Cracking the coding interview (CTCI)” and solve its basic questions.
- Practice questions from CTCI book but give only 30 minutes to each question. If the question was tricky, I wrote down the steps on paper and pasted it on my wall, to see daily.
- Read algorithms from GeeksforGeeks. I read only basic algorithms like sorting, searching, max-min heaps, DFS, and BFS.
- System designs were achieved from YouTube. I watched videos of almost each system design question. I was watching one system design video per day and soon started to recognize the pattern.
I applied after a month to Amazon, Google, and Microsoft, through their respective career pages. Then started the second phase of my preparation irrespective of the response. My thought process was, “anyways I am learning something which will be used either now or later”. I got a response from Microsoft in a few days.
PHASE 2 (next 30 days)
- Data structures from the book as well as GeeksforGeeks
- Company-specific questions from GeeksforGeeks
- Binge watched all earlier watched system design videos in 2 days
- Mock interview with my mentor twice a week.
I got lucky as I was never required to pay for any course, platform, or my mentor. But I think it is a good idea to pay for platforms that provide interview questions or mentors if you are not confident enough with your preparations.
My interview consisted of 4 rounds, including an online test, a phone interview, and 2 onsite interviews.
The online test was a combination of multi-choice questions and 2 not-so-difficult coding questions.
The phone interview was a lengthy 1-hour call including questions mostly about .net technologies, compilers, and cloud computing. There was 1 sorting question that could be easily solved using “Bucket sort”.
The first onsight interview started with basic data structures, then system design of my current project only (honestly, I was not prepared for it but still I was able to explain the cyber-security project which I was building at that time) Then there was a question on Chess game designing and basic classes with functions involved. In total, this was a very hectic interview round and it lasted for more than an hour. I think my mock interviews made me strong enough to hold myself in this round.
The last round was more of a culture fit round where a very senior manager asked me about my experience and role in different projects and my aspirations.
Things that did magic in my preparation
Not to spend long hours solving one question. I learned in the very beginning that I need to move quickly from one question to another. At the very start, I was able to solve only 40% of the questions on my own. But I understood the questions very well, instead of just mugging up the solutions.
Direct questions will never be asked, so focus on understanding the solutions. Also, I did not waste time learning very complex algorithms like Graph shortest path, etc. This saved a lot of time and frustration. I took that chance and it worked for me.
There are many companies in the world. Focus on preparing and then apply to as many companies as possible, without thinking about the outcome.
Finding the right mentor & taking enough mock interviews will keep you on track. Honest feedback from the mentor helped me in improving 10x which could have never been possible without him.
This was my story of taking that big step in my life. I know there already exists a lot of material online on cracking interviews, so make your plan today and if you need a mentor then ping me on my linkedIn
You can also use platforms that can connect you to the existing FAANG employees. I hope it will be very helpful to you.
You can find an article on how to prepare and ace system design interviews here.