This post talks about how one could get an interview with Microsoft for a Software Engineer role as well as its process. If you already got an interview with them, simply skip to the part where I discuss its interview process.
How one could get an interview with Microsoft or any other company by all means
As I have been interviewing with Microsoft for multiple times in the past three years, I feel I am somewhat qualify to talk about it. As you can imagine, some people would say that they had terrible interview experience with them. Some might say the opposite. Guess which side I am in? The awesome side. Before I talk about the process, I want to discuss how one can get interview with them. Often times, Microsoft would pay a visit to university of their choice. Not surprisingly, my university was one of them. This is probably obvious, but I still want to mention it anyways. If you fall into the category of someone who wants to get an interview with them, it is probably wise of you to attend the event. That was exactly what I did when I was 1.5 years into University as a Computer Science student. Long story short, the Microsoft engineer at the time told us that in order to get an interview with them, you got to do at least three out of four things that he mentioned. The more the better of course. These are the four things that he mentioned.
- Strong Co-op/intern experience.
- Built side project.
- Academically strong.
- Participated in coding competition.
Looking at this list for the very first time, you might get overwhelmed. But, let me tell you, it is totally doable and I would strongly encourage every Computer Science student to do it regardless of whether they want to get into Microsoft or any other tech giants. Why? Because by doing all these, it improves your chances of getting an interview from any company.
Let me tell you how company looks at these bullet points,
- Strong Co-op/intern experience - What does it mean to have a strong Co-op/intern experience? It basically means that you have done works with company that they know by name.
- Built side project - Company often times wants to hire someone who is passionate in their works because that will give them motivation. How do you know someone is passionate in their professions? This is debatable but company often looks to see if one would try to convert their crazy idea into actual working project in their spare time.
- Academically strong - basically top in your class with a good GPA it demonstrates a good work ethic and intelligence. (Moreover, here)
- Participated in coding competition - this also tells the company that you are passionate in your works and willing to compete in a higher level.
The idea is to have as many bullet points as you can so that you can increase your chances of getting an interview with companies like Microsoft.
Once you got all these, it is time for you to apply. There are many ways you can apply for Microsoft but these are the ways that I know.
- Apply through their career page or any other third party site like LinkedIn.
- Apply in-person during Career Fair.
- Apply through referral with their current employee.
- Apply through the winning of the major coding competition hosted by the company.
All these should be easy to understand except for the forth point - Apply through the winning. Every year, Microsoft would come to our university to host a coding competition where everyone is invited. People would compete as a group to work on a set of problems given by Microsoft. With a limited time, the winner are the group who scores the most points by solving the most problem sets. The winner will not only win a prize but would also score an interview with Microsoft. The year that I attended, as far as I know, the group who won the competition. Every members in the team all went to Microsoft for the internship that summer. Some even return as full-time after they graduate.
Okay, so now that I have talk about how one can get an interview with Microsoft. I want to talk about their interview process. (As far as I know, their interview process is very similar between their internship and full-time, except their interviewee would probably expect less for internship comparing to people who are looking for full-time)
Interview process at Microsoft
Their interview process normally goes like this in short for a Software Engineer role,
1 X 30-60 mins Skype/Phone interview with a recruiter/experienced Software Engineer/Manager
4 X 45 mins back-to-back On-site technical interview with an experienced Software Engineer/Manager
Let’s talk about this in a chronological way,
September 10, 2019 Apply through their career page.
Nothing to talk about here except be prepared to have a well-rounded résumé. Be sure to include things like “Improved the page load time by X% by doing…” instead of your job responsibility as it may sound boring. Recruiter from large company loves number as it shows how much impact you had.
September 12, 2019 Got an email saying that the person is invited to a phone interview.
Make sure that you schedule your phone interview date as soon as possible as spots could be fill up quicker than you thought. Just a sidenote, I personally would recommended that you book your time as early as possible like 8AM or 9AM, as those are the time when the person is in the sharpest.
September 20, 2019 A 45 mins phone interview with an experienced Software Engineer.
It can either be through Skype or landline phone from Redmond. Be prepared to talk about anything on your résumé. Plus, be ready for both the behavior and technical questions. It is strongly recommended that you read the famous Cracking the Coding Interview book where you can get it from here.
September 23, 2019 Got an email saying that the person is invited to a final round on-site interview at Microsoft Redmond campus.
Again, make sure that you schedule your on-site interview date as soon as possible as spots could be fill up quicker than you thought. Most candidate would spend a good three days two nights over at Seattle/Bellevue/Redmond city where the whole trip like flights/taxi/accommodation/food/sightseeing are all covered by Microsoft with limit. Microsoft wants to make sure that you enjoyed this trip while you interview with them.
October 14, 2019 A day before your on-site interview.
This is the day where you fly to Seattle and settle in the suite paid by Microsoft. Most people would simply enjoy this day by walking around the city and have a good meal and probably do some last minute studying before they go to bed.
October 15, 2019 On-site interview day.
This is typically what the day might look like,
8:00 Wake up
8:30 Have a good breakfast
9:30 Last minute review
10:45 Take a cab/uber/lyft to the Microsoft Redmond campus
11:00 Arrived at the Microsoft Redmond campus
11:30 Recruiter greets everyone and talks about the plan for today
11:45 Beginning to walk to the Microsoft cafeteria where you would have lunch there
13:00 A 45 mins Interview with a Software Engineer A
13:45 First interview finished. Grab some water and relax while you can.
14:00 Another 45 mins Interview with a Software Engineer B
14:45 Second interview finished. Grab some water and relax while you can.
15:00 Another 45 mins Interview with a Software Engineer C
15:45 Third interview finished. Grab some water and relax while you can.
16:00 Last 45 mins Interview with a Software Engineer D
16:45 Forth interview finished. Prepare to leave soon.
17:00 Recruiter thanks everyone for coming and encourage everyone to grab a nice dinner with other candidates.
Note: 45 mins Interview with a Software Engineer - The interviewee would most likely ask you some kind of Algorithms and Data Structures questions where you would ask clarify questions first, talk about how your approach is, and write your working code on the whiteboard/paper, last but not least, discuss your solution’s time and space complexity. At the end, you will have opportiunity to ask them any questions. (Make sure you do them and ask good questions.) Here is what the interview might look like.
October 16, 2019 The day after On-site interview.
Pack your stuff and fly back. Your flight might be in the afternoon, this means that you still got some time to visit the city.
October 21, 2019 Receiving an offer from Microsoft
Either through email or phone call from recruiter. Recruiter would likely give you a verbal offer and briefly talks about what your offer contains. Normally, you got two weeks to decide for a full-time role and one week to decide for an internship.
Congrats that you have made it this far.
These are the 12 things that I would like to add that I think it might help in the process,
- Bring few copies of your hard copy résumé in case they don’t have it in hand. (Yes, this is possible)
- Definitely bring a cup of water with you into the interview room. (Yes, you will be thirsty as you will basically be talking the whole time for 45 mins)
- Bring some whiteboard marker just in case when the room has non-working ones.
- As you will be placed in a room of around 20+ candidates, you are strongly encourage to talk to others and make friends. (dinner plans later)
- Think out loud during the interview. Let your interviewee know your approach so that they can correct you when your idea does not work.
- Ask as many clarify questions as you can before trying to come up with a solution to the problem.
- If you are stuck, try to come up with the brute force solution and then go from there. (Make sure you keep thinking out loud during this process)
- Use your whiteboard space efficiently. (Write test/edge cases on the side)
- Always test your code during and after.
- Ask good questions will make you look good.
- Sometimes, you might need to come up with few different stories for the same questions as different people might ask you the same questions twice.
- Interviewee will never try to trick you, if they say that piece of code might be missing something, that means it ACTUALLY is missing something.
Now, I should have documented everything you need to know about the interview process at Microsoft. Let me know in the comments below if you have any questions/concerns and I would be happy to help in any way. Good luck!
Hopefully you enjoyed this post. Let me know if this helps you. Thank you for reading!
I’ll try to keep this list current and up to date. If you know of a great resource you’d like to share or notice a broken link, please let us know.