Microsoft Interview Questions

Try some questions now

We've helped several engineers get the job at Microsoft

Interview Cake is a systematic approach to solving any programming interview question. We've helped engineers get jobs at all the best tech companies, especially including Microsoft. We want to help you with even the toughest software engineer interview at Microsoft.

Microsoft has been one of the tech industry's giants for decades, and it shows in their coding interview. They expect a high degree of acumen and precision, so much so that it sets them apart from the vast majority of other companies that compete with Microsoft for talent. Microsoft interviews are tough, but they are solvable. Microsoft extends thousands of job offers a year, and you could be one of the engineers receiving one of those offers.

Get ready for Microsoft with the free 7-day crash course!

In this free email course, you'll learn the right way of thinking for breaking down the tricky algorithmic coding interview questions Microsoft loves to ask.

Practice Questions for the Microsoft Interview

Microsoft's coding interviews are hard, but not impossible. Like anything else, it just takes practice. We'll walk you through it, step by step.

Does This Linked List Have A Cycle? »

Write a function contains_cycle() that takes the first node in a singly-linked list and returns a boolean indicating whether the list contains a cycle. Careful—a cycle can occur in the middle of a list, or it can simply... keep reading »

Girl Scout Cookie Conspiracy »

A friend and I are trying to win the prize for most Girl Scout Cookies sold. Write a function to merge our sorted arrays of orders into one sorted array of orders. Think about edge cases! What happens when we've finished merging one... keep reading »

Binary Search Tree Checker »

Write a function to check that a binary tree is a valid binary search tree. Careful: checking a node against its parent isn't sufficient to prove... keep reading »

MillionGazillion™: A New Search Engine »

I wrote a web crawler that's running on my old desktop computer in my parents' basement (where I totally don't live anymore), and it keeps running out of memory... keep reading »

Implement a Queue With Two Stacks »

This one's a classic toy problem that will really help you understand the importance of the different properties of queues and stacks. There's a naive solution, but then there's a much more efficient... keep reading »

The Nth Fibonacci Number »

This one's a classic, but there's more than meets the eye. Our first thought might be a naive recursive solution, but it has a massive time cost... keep reading »

Product of Other Numbers »

You have an array of integers, and for each index you want to find the product of every integer except the integer at that index. Write a function that takes an array... keep reading »

Permutation Palindrome »

Write an efficient function that checks whether any permutation of an input string is a palindrome. We can do this in time and... keep reading »

Check the Fairness of our Cafe Kitchen »

My cake shop is so popular, I'm adding some tables and hiring wait staff so folks can have a cute sit-down cake-eating experience. Recently, some customers have been complaining that people who placed orders after them are getting their food... keep reading »

Find The Rotation Point In An Array »

I have an array of words that are mostly alphabetical, except they start somewhere in the middle of the alphabet, reach the end, and then start from the beginning of the alphabet. In other words, this is an alphabetically ordered array that has been "rotated"... keep reading »

What people are saying about Microsoft's interview

Here are some positive snippets from interview reviews from Glassdoor:

  • "I got referred to a specific team at Microsoft as New Grad hiring was halted for 2016. Talked to a manager on the phone for an hour, and was asked about my resume and did a interview question. Was flown to Seattle 2 weeks later and had an onsite interview with the team at Redmond. It consisted of 5 interviews with coding and culture-fit questions. I was at the Microsoft Campus from 9AM to 4:30PM. The process was nice, and the interviews were more conversational than say Google onsite interviews. I got a call 2 days later with an offer to join the team."
  • "Everyone was super friendly and super excited about future of Microsoft under new CEO leadership."
  • "Took part in an interview event which lasted about half of the day. Four rounds of approximately one hour interviews with short breaks in between. The questions were based on algorithms and Big-O notation for run-time and space complexity. Questions were either straight from or similar to questions in Cracking the Coding Interview. Make sure you understand the complexity of the code you are writing or at least be able to walk through the calculation of it. Practice solving problems from Cracking the Coding Interview and you should do fine."
And here are some negative snippets from interview reviews from Glassdoor:
  • "I had the initial phone screen and got rejected 3 weeks later. They asked me a series of behavioral questions, and one logic puzzle (fruits and baskets with wrong labels). I am surprised and disappointed in the rejection because I feel that I'm a strong candidate (had final round interviews with very competitive companies). I solved the brain teaser and felt I did a decent job on the behavioral aspect. However, my interviewer was NOT a technical person, so she couldn't answer any of the more technical oriented questions I asked at the end. I remember my interview only lasted about 20 minutes. She ended my interview before I could think of more questions to ask. I am very confident that if I had a technical person interview me, they'd have a way better understanding of my skill set. Needless to say I won't be applying to Microsoft again."
  • "I attended the MS 30 min on-campus interview last week. I prepared a lot of behavior questions before but it turned out that the interviewer didn't ask any behavior questions. The coding problem he asked me was to find the next larger element in a BST. He didn't even defined the BST and the function declarations for me, so I had to define it by myself."
. . .