Microsoft Interview Process - Software Engineering New Graduate Role 2021

7 minute read

Published:

Microsoft Interview Process - Software Engineering New Graduate Fall 2021

This article is my personal experience and in no way is representative of everyone’s perspectives. I do not speak for my university or my company or any organizations that I am a part of. Take this with a grain of salt.

The timeline of my interview process is as below.

Timeline:

  • July 24: Received the referral link and applied
  • July 26: Received email to schedule for first phone screen
  • August 3: Had the first-round interview with HR
  • August 16: Sent email to check application status
  • August 26: Received invitation for final rounds and scheduled
  • September 13: Had the final interviews
  • September 24: Reached out to ask for an updates, get a verbal offer
  • September 28: Received the official offer letter

Palantir timeline

  • July 27: Applied online
  • Aug 10: Received Hackerrank test
  • Aug 16: Finished Hackerrank test
  • Aug 19: Invited to schedule Karat interview
  • Aug 20: Scheduled Karat interview
  • Aug 31: Interviewed & received notifications that results were submitted
  • Sep 8: Scheduled for HR interview
  • Sep 24: Called with HR
  • Sep 28: Received notification for final onsite interview times
  • Oct 11: Took the first-half of the final interviews

Interview Preparation

Technical Preparation

To explain the context leading to the interviews, I will include a short background about myself (or at least how I like to see myself). I am extremely hardworking and put great efforts in the work I do. I actively connect with people and build the mentorship connection because my university, a liberal arts in the middle of nowhere, will not be a target school for many companies and I love learning from people experiences. I am an introvert and I thrive when I genuinely connect with people. I hate networking because the word reminds me of transactional relationships.

So with that context in mind, I will begin with the CodePath Interview Preparation program because that is where it all started. I could not give any higher recommendations for the program. This entire interview process would not have happened without their structured studying sequence. I would admit at the three final weeks, I was not paying too much attention because the topics (Dynamic Programming, Backtracking, and Greedy Algorithms) were challenging and the time conflicted with my commitment as an International Orientation Student and Program Fellow (aka mentor and outreach coordinator). However, I did try my best to do all the extra questions provided, so through the program in the summer alone, it totaled up to around 100 Leetcode questions.

While the classes were extremely helpful, the other outstanding features from the CodePath program are its mentorship portal and office hours. I have had at least 20 informational interviews with the mentors in that portal, and at least 5 of the relationship are still ongoing and very strong. The office hour leader is currently an employee at Microsoft, and she was willing to refer us and that is whom I got the referral from. I was very certain that I would get a referral to Microsoft because at that time I have had 3 mentors from Microsoft employees through the mentorship program. Microsoft also has a special job posting for new hires that are associated with some special organizations, programs like Grace Hopper, NSBE, and CodePath was one of them.

Behavioral Preparation

Honestly I never truly prepare for behavioral interviews because I had connected with so many people throughout my college experience. I had no idea how to connect with people when I went into college and I can think of a few situations where I had missed the opportunity because I had not built the skills needed. Counting up to now through my 4 years of colleges, I’ve conducted at least 50, if not more, informational interviews, so I’ve gradually built up my skills to speak about my experiences and maintain a natural conversation. It will be scary at first, but it will slowly get easier, like anything worth achieving in life. The first few conversations will require a lot of preparation and questions prepared ahead, but as I get used to them more, I can go into the conversations even when I don’t know what this person does.

First Phone Call

It was with a recruiter and based on my understanding with all the conversations with my mentors, anything in my resume would be a fair question to ask and I shouldn’t expect a technical interview question at this round. I did a deep dive into my resume and tried to come up with as many stories as I can. The interview last 30 minutes long and while most questions are the ones I have prepared, the short technical questions caught me off guard. Among them, the two I remembered distinctly were “What is the difference between a thread and a process?” and “How do you explain recursion to a 5-year-old?”. I answered to the best of my ability for the first question and I believe my answer for the second question was adequate and easy to understand.

At the end of the interview, we had an interesting conversation because the recruiter I was talking with just recently started working at Microsoft. That’s when it hits me that there is so much luck involved in the entire process that the best thing we can do is just to prepare. After the phone call, because I had no clue who I was interviewing with, I had no contact to send a thank-you email. I was waiting for about two weeks when I sent a follow-up email because 2 weeks seem like a decent amount to follow up.

Virtual Onsite

I did not expect to be brought straight in the onsite rounds because I thought there might be some technical interviews in between. I would not share the details of the questions here, but overall the first round I barely wrote any code, it was more of a discussion to see how I think through a problem. The second round was an extremely easy questions that I assumed the interviewer was going to add extra questions in, which he never did. Right after I finished the code, I did not even have time to analyze the complexity because the interviewer was moving to any questions I have for him. The third round was very much a professor giving guidance to students to solve the problem. I believe it was to see how I learn and how I approach the problem. Of course, after the interview, I felt there were things I did right and things I could improve, so I would not be surprised if the decision went either ways.

It was painful and anxious waiting for the decision. Obviously I have hope since this is my top choices company. They gave me a coupon to their company store and I thought that seemed like a consolation prize as in here you go, something to console you while waiting for the rejection letter. I cannot take it anymore so I decided 12 waiting days seemed long enough before I sent out the little nudge.