I applied through university. The process took 1 week. I interviewed at Microsoft (Ogden, UT) in Apr 2019
Interview
I interviewed with two people. With each interviewer there was a five minute personality interview followed by a ten minute whiteboard interview.
Before this on campus interview they reviewed probably 30 resumes that were submitted via our career counselor. Then 10 of us were invited to an interview preparation meeting with one of our interviewers so that we could talk about the process, the company culture, and ask questions.
Interview questions [1]
Question 1
Write a program to take inputs of word pairs, like box lunch, box car, car stereo, stereo sound, etc
Start at a random index and output a list of pairs omitting previously used pairs.
I applied through their website with a referral, after a month or so they sent me a home exam, I think about a month after that i had 3 interviews in the same day, each one around 1:15 hours.
Interview questions [1]
Question 1
implement a dictionary where you have set,get and setAll, all in O(1)
The hiring process consists of a HackerRank home exam, followed by three technical interviews covering LeetCode-style problems and system architecture. Once this is done, you will have a final HR interview.
Interview questions [1]
Question 1
I had a technical interview where I was asked to solve the classic 'Climbing Stairs' problem (LeetCode #70), which is a dynamic programming question based on the Fibonacci sequence.
I applied through university. I interviewed at Microsoft (Haifa) in Jun 2026
Interview
The process started with an online HackerRank assessment. The main coding question involved partitioning an array of server capacities into K contiguous groups while minimizing the maximum group sum. The solution required binary search on the answer combined with a greedy validation function. The assessment focused on algorithms, problem solving, and time complexity analysis.
Interview questions [1]
Question 1
Given an array representing server capacities and an integer K, divide the array into K contiguous groups such that the largest group sum is minimized. Return the minimum possible value of the maximum group sum.