How to Crack the Microsoft Interview
HackerRank (HR): Hello Kavya, thank you for accepting the invite! Our readers would like to know a little bit about you, so...
Kavya Sukumar (KS): Yep, sure! I currently work as an Software Development Engineer in Test at Microsoft. I joined Microsoft's India Development Center after graduating in Computer Science and Engineering. After a year in IDC, I moved here to Redmond, WA.
HR: What's the interview process in top tech companies like Microsoft?
KS: In Microsoft, there is no fixed interview process or format. It changes with product groups or teams. The most commonly followed interview process consists of four to five rounds, each focusing on analytical, problem-solving, designing, coding and testing the skills of the candidate.
It starts with a screening round, which may be submitted in written format, via telephone or in person. In Microsoft, there are three engineering profiles: development, test and program management.
Apart from screening candidates, the initial round also decides the profile best suited for you. Once you clear the screening, you proceed to the next round, which is called a ‘loop’. A loop usually consists of three to four people who interview you separately.
HR: Thanks Kavya! That was indeed a detailed explanation. Now, how does a candidate prepare herself/himself for the interview?
KS: It helps to practice problem-solving and coding. Design and test cases questions are usually where candidates, especially ones who are fresh out of college, fumble. It is a good exercise to try to come up with design and test cases for a given scenario.
It is a common misconception that you won’t be asked to come up with test cases when you apply for a development profile job. What you must understand is that it is the job of the interviewers to judge your capabilities.
During an interview, your enthusiasm, confidence, approach to problem-solving, articulation of ideas, etc. are looked at with a critical eye.
HR: Fantastic! But, generally students are not expected to know the answers of all the questions asked in the interview, right? How can they tackle questions for which they have no clue?
KS: Absolutely! You are not expected to know the answer to all the questions right away. Acing an interview is not just about arriving at the answer.
It is a lot about how you approach the problem, your clarity of thought, how you backtrack when you are stuck, how you use the hints given to you. Sometimes in an interview, you get a question that stumps you. Or sometimes the right answer to a question is very subjective. If you don’t know the answer, don’t be disheartened.
Do not hesitate to ask the interviewer for clarifications. It is important to ‘think aloud’ in an interview so that the interviewer knows your line of thought and can give you hints. Interviewers usually try to gently nudge you towards a solution. DO NOT give up without trying.
HR: How much importance is academic performance given in an interview?
KS: That is a loaded question 🙂 There is no definite yes or no answer, it usually comes down to individual preference. Some interviewers look at your academic performance in your resume and others don’t.
A good grade point average can help you get noticed in a resume screening. It can also make a good first impression on the interviewer. But ultimately it is your interview performance that matters the most.
HR: What advice do you have for candidates who have average grades and are aspiring to work for Microsoft?
KS: As I mentioned already, the role grades play in a hire or no-hire decision is very debatable. Good academic performance helps your resume get noticed. If you don’t have a stellar academic record, try to offset it with a good internship or a project. At the end of the day, it is your interview performance that matters. So preparing for the interviews is your best bet at acing them.
Thank you, Kavya! It would be great if you could share a to-do list before attending a Microsoft interview.
- Have a clutter-free and easy-to-read resume... Recruiters don’t want to read through a lengthy resume.
- Practice writing code on paper or board. It is different than typing it out in a code editor or IDE. If you're taking a programming challenge online, you won't have this problem.
- Do not discount the importance of design and test cases while practicing. It usually takes a few tries to get it right and stay organized.