Status: Full Stack Software Developer at major company in travel industry, BS in Computer Information Systems
YOE: 5 years
Position: SDE2 at Microsoft
Location: Remote w/ US East Coast working hours
Date: May - June 2022
I applied online through their career portal when I saw a job posting through LinkedIn in mid May 2022. Within 2-3 days I was contacted via email that my profile was a good fit for the role and was sent a Codility Assessment to complete.
Online Assessment - Codility (roughly 1 hour 50 min, 2 questions)
1. Return the largest number in the family of N (https://stackoverflow.com/questions/71885057/problem-statement-finding-the-efficient-algorithm-and-the-code-which-gives-les)
2. Find number of horizontal brush strokes to paint a skyline (https://stackoverflow.com/questions/56373582/how-can-i-count-how-many-horizontal-brush-strokes-are-required-to-draw-an-array)
I submitted my Online Assessment on a Friday, and on Monday was notified that I had passed the assessment, and was then invited to a Virtual Hiring Event. This took place on June 9, 2022. There were 4 rounds of interviews, 45 minutes each with 10-15 minute breaks in between. Each interview was basically 15 minutes behavioral, 30 minutes coding and questions at the end.
Round 1: https://leetcode.com/problems/longest-substring-without-repeating-characters/. Behavioral focused on one of their Culture values and what it meant to me.
Round 2: https://leetcode.com/problems/longest-consecutive-sequence/. They asked a lot about time/space complexities. Don't remember all the behavioral questions, but one was "what are three things I'm grateful for?" which was pretty random but interesting.
Round 3: Behavioral portion was spent heavily on talking about my past projects and the specifics of working on it. The technical question seemed intentionally vague that focused more on asking questions, gathering requirements, etc. Basically had to implement an Enumerable class that had a property called Current and boolean method called MoveNext where if there was a next element, it would replace Current with that next element and return true. Then implement a Peek method where it returns the next element if there is one, without mutating Current. This one I mostly pseudo coded, with only a little bit of actual coding.
Round 4: Don't remember the behaviorals because they were rapid fire. "Tell me of a time you had to work with someone outside of your team and it was successful", etc. The coding question was as follow:

You guys I must be honest, I wasn't nearly prepared for this interview as I could've been. Life has been crazy for me personally, so I only prepared for maybe two weeks using Leetcode but not very thoroughly. I am not a traditional CS major so my knowledge of data structures and algorithms is lacking and superficial at best. I am quite frankly shocked that the next day I received notice my interview performance was favored among the interviewers and Microsoft was going to extend an offer some time next week. I did not complete any of the coding problems. The only thing I can definitely say I did that could've helped was I talked through the entire coding exercises, letting my interviewers know what I was thinking and heeded any advice or critiques they gave. Still, I am skeptical and am awaiting for them to tell me they sent offer notice by mistake. :)
I share this experience to help anyone else interested in interviewing with Microsoft. Please prepare well, Leetcode has been an amazing resource! And I guess learn to be very communicative with the interviewers about your coding/thinking process. Some will try to help you, so be receptive and listen well.
UPDATE: June 15th, I found out that because of my technical performance during the interviews, I am being offered SDE1 position instead of SDE2. I guess this is to be expected since like I mentioned I did not prepare well, but still performed to a standard that I guess they still want to hire me.