Intern applicants have rated the interview process at Microsoft with 3 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 71% positive. To compare, the company-average is 66.4% positive. This is according to Glassdoor user ratings.
Candidates applying for Intern roles take an average of 29 days to get hired, when considering 488 user submitted interviews for this role. To compare, the hiring process at Microsoft overall takes an average of 30 days.
Common stages of the interview process at Microsoft as a Intern according to 488 Glassdoor interviews include:
One on one interview: 33%
Phone interview: 20%
Skills test: 18%
Personality test: 6%
Presentation: 6%
Background check: 5%
IQ intelligence test: 5%
Group panel interview: 3%
Drug test: 2%
Other: 1%
Here are the most commonly searched roles for interview reports -
I applied through a recruiter. The process took 1 day. I interviewed at Microsoft (Vancouver, BC) in Oct 2016
Interview
I gave my resume to a Microsoft recruiter that I had met several times at me University. I had a first phone screening interview with an engineer. The question was pretty rough for the time I had, but still got an email, 2-3 weeks later inviting me to the final round interview.
Microsoft flew me to Vancouver to do four one on one interviews. The questions were pretty easy. I was interviewing for the "Garage" program, which gives more of a startup vibe.
I revieved an email from my recruiter four days later, asking if she could call me the next day. The call was to give me the offer.
Interview questions [5]
Question 1
Given a two-dimensionnal array, print the spriral form. In example, the output of :
1 2 3
8 9 4
7 6 5
would be 1 2 3 4 5 6 7 8 9.
Code a function which returns the min and the max in an array of integers. (The output can either be a tuple or a class, it does not matter.)
Now, without modifying your function, find the second min and max of an array.
Code a function to replace, in a given string, a given character with a given substring. Example:
Replace("This is it.", 'i', "was"); -> Thwas wass wast." Do it in place.
Given a dynamic array class, implement a "push front" function. The class has a size, a capacity, and an array. Example
a = [1,2,3]
a.pushfront(4) -> [4,1,2,3]
I applied through college or university. I interviewed at Microsoft (Bengaluru)
Interview
OA was taken, it was easy-medium consisting of a string problem and a DP problem. Technical Interview 1 was taken where they asked tree traversals using iteration and construction of trees using traversal
Interview questions [1]
Question 1
Space Complexity of Traversal, also explain Morris Traversal
The entire process only had two rounds and it was really simple. Each round was around 45 minutes to an hour with a current Microsoft engineer and they just ask you a typical leetcode style question. There was also a behavioral round that was really simple.
Interview questions [1]
Question 1
The first round was a typically leetcode question that was really easy. The second round was a little bit harder. It was about having a nxn square made out of 0s and 1s and it wants you to compute what the square looks like if it was rotated.
I applied online. I interviewed at Microsoft (Belgrade, Central Serbia) in Apr 2026
Interview
It was a really enjoyable experience overall. Although I didn’t get the position, the interview itself was great, and I truly appreciated the opportunity to learn more about the role, the team, and the company.