Microsoft | SDE I/II | US | Offer - [UPDATED]
Anonymous User
5187

Hey All,

I interviewed with Microsoft a month ago for an SDE I/II hiring event and thought that I would share a little bit of my experience. I was actually a bit caught off guard and wasn't "interview ready" as I hadn't thought about interviews since October 2019. I have ~3 YOE, 1.5 @ FAANG. I will not be disclosing exact questions but will recommend generic tips for helping those prepare. Well here is the standard structure:

Phone
Quick chat with the recruiter. Inquiring if I'd thought about working at Microsoft, what I was currently working on, what languages have I used, etc. Very much your standard pre OA screen to guage interest in the position. I'd been intrigued by Microsoft but had been auto rejected by the system more times than I would like to admit.

Recommendation - When approached by recruiters; dive into what the company focuses on and what roles interest you the most

OA
Three LC easy/medium problems and multiple questions with regards to time complexity.

Recommendation - Be comfortable with binary trees, debugging, lists, arrays, strings, and complexity analysis

Virtual Onsite
Round 1 - Multiple questions relating to conflicts and OOD problem
Round 2 - Multiple questions relating to goals & aspirations, and LC hard String problem
Round 3 - Straight into coding. System design question
Round 4 - Multiple language specific questions, past experiences, and LC hard String problem

Recommendation - If you have 2+ YOE System Design questions are fair game. Ensure that you have a good understanding of tech stacks, data structures, and how to word responses to questions w/out coming off as nervous or aggressive.

Post Onsite
All in all it was a pretty typical experience overall with Microsoft's virtual onsites. I was informed that the interviews went well but there was no role tied to my skillset? I've been reinvited to interview again. It seems that there is no cool down period(?). Here are a couple of my standard tips in preparation for future interviews (to anyone who cares to read & my future self).

  1. Master the core basic data structures (arrays, strings, hash tables, stacks, queues, maps, trees, lists, graphs, common operation runtimes/space complexity)
  2. Master foundational algorithms (pre/in/post order traversal, BFS, DFS, traversal runtimes/space complexity)
  3. Master helpful approaches (two pointer technique, refactoring, memoization, object oriented design, backtracking)
  4. Solve multiple problems on LC to assess understanding (yes this includes problems you may have done years ago)
  5. Setup mock interviews with friends

Stats for geeks, as of now in pre/in/post format

  • LC easy: 150 | 200 | 215
  • LC medium: 90 | 140 | 171
  • LC hard: 9 | 15 | 18
Comments (10)