I applied online. The process took 4 weeks. I interviewed at Microsoft (Belgrade) in Apr 2018
Interview
The first part of the hiring process was a written test composed of 4 algorithm based questions. One week later you will receive an email informing you have passed to the second stage. The second stage consisted of 3 back to back 50 minute interviews with 10 minute breaks in between, all of which were with a different interviewer. Each interview consisted of soft skill questions at the beginning as well as a technical question.
Interview questions [3]
Question 1
Given a binary three write a function that will print out its nodes in a zig-zag order starting from the top e.g. print the head node, then the second level from left to right, the third from right to left etc.
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 college or 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.