Microsoft New Grad Software Engineer Interview, 2020
Updated July 17, 2026
After a phone screen with the hiring manager, the candidate was invited to a virtual interview loop with Microsoft for a new-grad software engineer position, with interviews held in mid-April. The loop consisted of four back-to-back interviews, each pairing a short conversation about background and past projects with one coding problem.
Across the four rounds, the coding problems ranged from a classic prime-number sieve to a grid-based word game, a string-comparison puzzle involving backspace characters, and an array-merging exercise that extended into a broader discussion of sorting. The candidate came away from the loop with an offer.
How the process went
Phone screen
An initial phone screen with the hiring manager led to an invitation for a virtual interview loop.
Virtual interview loop
Four consecutive interviews, each pairing a brief background or behavioral discussion with one coding problem.
Outcome
The candidate received an offer following the loop.
Interview 1
Background discussion and a prime-number sieve
- Questions about background and past projects.
- Coding: find all prime numbers from 2 to n.
Candidate first described a brute-force two-nested-loop approach (O(n^2)), then presented the Sieve of Eratosthenes as the stronger solution.
Follow-up: using i*i as a loop bound in the sieve can overflow for large n, so the candidate adjusted the implementation to handle it.
Interview 2
Team-conflict behavioral question and a grid word-search coding problem
- Behavioral: describe a time you handled a team conflict.
- Coding: design a Wordament-style game on an n x n letter grid where forming a valid word earns an integer prize.
Candidate's approach was to run DFS from each cell in the grid to find valid words.
Follow-up: given a fixed time limit (for example, the game ends in two minutes), how would you maximize the total prize collected?
Interview 3
Why Microsoft and a backspace string-comparison problem
- Background, interests, and why Microsoft.
- Coding: given two strings A and B that may contain '#' characters representing a backspace (removing the character before it), determine whether the two strings are equal after applying the backspaces.
Candidate discussed a stack-based approach first, then an alternative that iterates through the strings without building an explicit stack, using less extra space.
Interview 4
Interview-experience discussion and merge sort
- General discussion about how the earlier interviews had gone, background, and past projects, including the candidate's database background.
- Coding: merge two sorted arrays, extended into a discussion of merging k sorted arrays and writing merge sort iteratively.
Key takeaways
- Have the Sieve of Eratosthenes ready to go, including the integer-overflow trap of comparing i*i directly in a loop bound for large n.
- Practice grid-traversal problems with DFS; a word-search or word-game variant is a reasonable prompt for a coding round.
- For string-comparison problems involving special characters like backspace ('#'), be ready to discuss both a stack-based solution and a more space-efficient iterative alternative.
- Prepare a concrete team-conflict story ahead of time, since a behavioral question was paired with a coding problem in the same round rather than given its own separate round.
- Merge-sort fundamentals matter beyond the two-array case; be ready to extend a merge-two-sorted-arrays answer into a k-way merge discussion and an iterative merge sort implementation.
Practice a Microsoft interview
Rehearse out loud against the kinds of questions in this story — with an AI interviewer that asks follow-ups.
Practice this interviewSource
The questions and process facts come from the candidate's public write-up, linked below. The retelling above is our own summary.
Candidate's public write-up on LeetCode Discuss