Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Microsoft | SDE1-2 | US Remote | 2022 | Offer
Summary
I applied for an SDE2 role at Microsoft and, despite feeling underprepared for the coding challenges and not fully completing them, I received an offer for an SDE1 position. This experience highlighted for me the critical importance of communicating my thought process throughout the interview.
Full Experience
I applied online for a Software Development Engineer (SDE2) position at Microsoft through their career portal after seeing a LinkedIn job posting in mid-May 2022. Within a few days, I was contacted via email, confirming my profile was a good fit, and was subsequently sent a Codility Assessment to complete.
Online Assessment
The Codility assessment was roughly 1 hour and 50 minutes, consisting of two questions. I submitted it on a Friday, and by Monday, I received notification that I had passed and was invited to a Virtual Hiring Event.
Virtual Hiring Event
This event took place on June 9, 2022, and comprised four interview rounds, each 45 minutes long with 10-15 minute breaks in between. Each round typically started with 15 minutes of behavioral questions, followed by 30 minutes of coding, and ending with time for my questions.
Round 1
The behavioral portion focused on one of Microsoft's Culture values and what it meant to me.
Round 2
I was asked a lot about time/space complexities during the technical part. I don't recall all the behavioral questions, but one memorable one was, "What are three things I'm grateful for?", which was quite unexpected.
Round 3
The behavioral portion heavily involved discussing my past projects and their specific details. The technical question seemed intentionally vague, emphasizing asking clarifying questions and gathering requirements. I mostly pseudo-coded this solution, with only a little actual coding.
Round 4
The behavioral questions were rapid-fire, including one like, "Tell me of a time you had to work with someone outside of your team and it was successful."
Honestly, I wasn't nearly as prepared for this interview as I could have been. Life had been crazy, so I only prepared for about two weeks using LeetCode, and not very thoroughly. As a non-traditional CS major, my knowledge of data structures and algorithms felt lacking and superficial. I was genuinely shocked when, the very next day, I received notice that my interview performance was favored, and Microsoft intended to extend an offer. I did not complete any of the coding problems. The only thing I can definitively say that might have helped was that I talked through my entire thought process during the coding exercises, letting my interviewers know what I was thinking and being receptive to any advice or critiques they offered. Despite this, I remained skeptical, awaiting confirmation that the offer wasn't a mistake.
UPDATE: On June 15th, I found out that due to my technical performance during the interviews, I was being offered an SDE1 position instead of SDE2. I guess this was to be expected given my lack of preparation, but it still means I performed to a standard they wanted to hire.
Interview Questions (9)
Discuss a Microsoft culture value and what it means to you, providing examples or personal reflections.
Share three things you are grateful for and explain why.
Design and implement a custom Enumerable class. This class should have a Current property, a MoveNext() method that advances to the next element and updates Current returning true if successful, and a Peek() method that returns the next element without altering Current.
Describe a situation where you successfully collaborated with someone outside of your immediate team. What was the challenge, what was your role, and what was the outcome?
Given two arrays, X (containing only even numbers) and Y (containing only odd numbers). You can perform an operation by choosing one element from X and one from Y and swapping them, with a cost of 1. The goal is to make array X sorted in non-decreasing order. Return the minimum cost. Array Y does not need to be sorted. If it's impossible to sort X using these operations, return -1.
Preparation Tips
I prepared for only about two weeks using LeetCode, but not very thoroughly, primarily due to personal circumstances. As a non-traditional CS major, I felt my knowledge of data structures and algorithms was superficial at best.