Microsoft | SDE1-2 | US Remote | 2022 | Offer

microsoft logo
microsoft
SDE IUS Remote5 yearsOffer
June 10, 202213 reads

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)

Q1
Largest Number in Family of N
Data Structures & Algorithms

Given a number N, find the largest number that can be formed by rearranging its digits. Consider constraints such as not starting with a zero or using all digits.

Q2
Minimum Horizontal Brush Strokes for Skyline
Data Structures & Algorithms

Given an array representing building heights, determine the minimum number of horizontal brush strokes required to paint the skyline.

Q3
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters.

Q4
Microsoft Culture Values Discussion
Behavioral

Discuss a Microsoft culture value and what it means to you, providing examples or personal reflections.

Q5
Longest Consecutive Sequence
Data Structures & AlgorithmsMedium

Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence.

Q6
Expressing Gratitude
Behavioral

Share three things you are grateful for and explain why.

Q7
Implement Custom Enumerable with Peek
Data Structures & Algorithms

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.

Q8
Cross-Team Collaboration Success
Behavioral

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?

Q9
Minimum Swaps to Sort Even Array
Data Structures & AlgorithmsHard

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!