Microsoft | SDE1 | Bay Area | Mar 2020 [offer]
Anonymous User
2090

Status: New grad, MS CS
Position: SDE1 at Microsoft
Location: Sunnyvale, CA
Date: March 16, 2020
Work experience: 2 years

First phase (on campus / phone screening)
I chose on campus screening, this was in February, before shelter-in-place was ordered. This was the standard tell me about yourself, experiences, and interests interview. After this I was called for onsite.

Second phase (onsite - 4 rounds)
This is virtual onsite due to covid19 shelter-in-place orders. It had 4 rounds, standard technical interviews.
Round 1: This round had 2 questions. First one was very easy. May be it's a warm-up question. The second was not so typical leetcode question, I struggled a bit, took some hints and finally solved it.
Q1: Given an integer, return the difference of product and sum of digits
Q2: Detect whether the given string is in scientific notation or not using state machine flow. Examples of sceintific notation, 1e-3, 123e2

Round 2: This round again had 2 questions. First one was related to topological sort. You can find both these questions on leetcode.
Q1: Given a set of tasks and its dependencies, return the possible ordering of tasks. The tsaks may be cyclic as well.
Q2: Serialize and deserialize a M-ary tree
Couple of follow-ups on the question 2

Round 3: Design circular buffer using array. A read from buffer will free up the slot. A write from buffer will either use empty slot or overwrite the oldest slot.

Round 4: This round was taken by the manager of that team. This round also incuded some behavorial questions.
Given a k-sorted array, return the sorted array. What is the time and space complexity?
Example of a k-sorted array: [4 5 2 1 6 3], expected answer [1 2 3 4 5]

Behavorial questions:

  1. Tell me about yourself?
  2. Why Microsoft?
  3. Any questions for me? [Never say nothing for this question :) ]

Overall the experience with the interviewers and hiring committe is positive. I took some hints in round 1, question 2 as I was unaware of state-flow-diagram in computer science perspective. I nailed all other rounds. Here are few interview tips for you:

  1. Never jump into coding the solution right away. Keep a rule to ask clarification questions. I would recommend doing this even when you are practicing on leetcode. Cultivating a new habit takes time :)
  2. It's fine even if you are struck at some point. Feel free to ask help. It's always better than staying mute. Interviwers would like to judge on your capability of understanding hints and working on them.
  3. Once you are done coding, run a testcase manually by hand. Walk through the code aloud with this test case. This will help in two things. One, it helps you to find unintentional bugs and the other it sends positive signal that you test your code.
  4. Don't let one interview get you down. Even if one interview goes really bad, thats' completely fine. There are other interviewers who can vouch for you.

I had two offers in hand, Amazon and Microsoft. I ended up signing Microsoft offer :)

Comments (5)