Microsoft Interview Experience
Pre-Internship Drive: Microsoft internship was one of the best things that happened to me during my college days. It came during that time of my life when I was struggling to achieve anything concrete. In 2019 summer I was participating in GSOC projects from 2 organizations. That summer was very hectic as my mentors were from different time zone than mine which led to a messed-up sleeping schedule. After giving my all to the GSOC projects it was on the results day that I got to know about my rejection from the position. It was the second consecutive year I had failed to get into GSoC. You can read more about GSOC here https://summerofcode.withgoogle.com/.
It was during that summer I had companies coming to my college for internship roles. I had around 2 months to prepare and I had zero motivation for it because of the GSOC failure. As it is commonly said, Winning is not everything but wanting to win is, I started my preparation for the upcoming internship drive. I was not going out with friends because I wanted to give it all I had.
During Internship Drive: I have had enough preparations done before the internship drive and was ready for what may come. Uber, DeShaw, and Goldman were the first companies to visit our college. Goldman had 30 mathematical questions and 2 coding questions whereas Uber and DeShaw had 3 questions each in their coding round. Out of these three, I got shortlisted in DeShaw for further interviews.
DeShaw took three rounds of interviews on-site for all of us. The DeShaw office was huge and this built the pressure on me to prove myself. The first two rounds were around DSA and the third round was system design based. The first round of questions was pretty easy, first, they asked me to code BFS and as a follow-up question, they asked me what top sort is and asked me to code it.
They asked me a total of 4 coding questions out of which I clearly remember one because it was the deciding question for my next round selection.
The question was:
- Given a keyboard with all the alphabets from A-Z and shift and caps lock. For any given string S, what are the minimum keystrokes needed to type using the given keyboard?
In the system design round, they asked me to design a lift and asked me follow-up questions about what happens if instead of X data structure we used Y data structure.
After three rounds we had an HR round where 3 out of ~20 shortlisted candidates got selected. HR was all about knowing the DeShaw culture and having a conversation about what they expected from us and telling us what we should expect from them. All of us thought that we are the ones who are getting the internship offer. It was that evening the results were out and only one of us three got the internship. My failing streak continued.
Post-DeShaw, JP Morgan, and MotorQ came where I was not eligible to sit because of the CGPA cutoff criteria. Next on the cards was Microsoft. I was all pumped and low at the same time for the Microsoft coding round. Microsoft coding round had 3 coding questions on a portal called Mettle. The portal was very disappointing but the questions weren’t. People got random 3 questions from a set of 500 questions. I got two questions on hashing and one on DP. I was happy when I came to know that I had cleared the coding round. Microsoft came on campus and there were 5 rounds of interviews to follow the coding round. The first round was known as Group Flyer where all the shortlisted candidates have to code the solution to two questions on the paper.
Group Flyer Questions:
- Code quick sort
- Given a weighted graph, find the minimum distance between two nodes.
The following four rounds were mostly about strings, graphs, and system design. The questions are given below:
- Find the longest K unique characters in a substring.
- Given two strings and a valid operation to right shift, left shift, remove or add a character. Make the strings the same in minimum operations.
- Given a weighted graph, each weight is the cost of removing the edge. Make the graph acyclic with minimum cost.
- You have an infinite stream of data coming. Tell which is the first alphabet that is repeating.
- Design a text editor. What are the basic things to keep in mind while designing a text editor?
- Design a pen. List the key things while designing it.
I cleared all the interview rounds and was able to land at Microsoft for a summer internship. Microsoft interviewers could keep the interviewees calm and the environment relaxed. One thing that I tried to control throughout the Microsoft interviews was my excitement. I tried not to get excited after any interview round whether I excelled in it or not. It was after 4 months of continuous failures, I finally got some success.
Learnings: Here are some of my learnings from this journey.
- Any product-based company emphasizes problem-solving skills more than any other skill from an undergraduate.
- Giving interviews is an art. You shouldn’t only be able to solve problems but also show soft skills like being a team player, communicator, leader, etc.
- Knowledge without the ability to display it is useless. You should be able to display your knowledge and one of the best ways is by writing good resumes.
- Hard work pays off, it can be a bit late but it will never be. I believe that a failure is not someone who failed, a failure is someone who failed and didn’t try again.