I applied through college or university. The process took 2 months. I interviewed at Microsoft (Redmond, WA) in Sep 2018
Interview
The interview process was very professional and smoothly run, but also challenging, as you'd expect from a top company. I had one interview on my school's campus before making it to the final round in Redmond. The on campus interview was a basic/intermediate data structures question, while the final round tested more than just programming - they want to see ability to problem solve. Thinking on your feet is extremely important in the final round, since you will most likely get at least one type of curveball question that you can't really prepare for (similar to a work environment). At the end of the 4 interviews, you get the rest of the day in the Seattle area with the other interviewees, which took a lot of pressure off of the entire interview day. Overall, it was a very seamless process that tested how you perform in different situations, but also allowed you to meet students from around the world and have time to explore the campus as well as the surrounding area.
Interview questions [1]
Question 1
Questions were a mixed bag ranging from typical Leetcode type basic data structure/algorithm questions to abstract design questions where only high level pseudo-code was necessary.
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.
One HR interview, then two problem-solving interviews (beginer level) on HackerRank. You can choose the best programming language for you to use in solving problems. You should think out loud to enable your interviewer to understand how you would think to solve the problem.
Interview questions [1]
Question 1
Find the lowest difference between two numbers in a list