I was referred by a friend of mine currently working at Microsoft.
I first completed a 45-minute on-campus interview, which consisted of one easy question plus some behavioral questions.
Unfortunately, Microsoft had fulfilled its hiring quota for the year. However, a spot opened up in mid-December, and I scheduled my on-site interview for January.
The on-site consisted of five interviews, about an hour long each. These included some standard data structures and algorithm questions, plus one system design question. The fifth interviewer also asked some behavioral questions.
The algorithm questions were probably around LeetCode Medium level.
Given a list of n unsorted key-value tuples which are too large to fit in memory, return the k tuples with the greatest value, where n is several orders of magnitude greater than k. This list may be dispersed across multiple machines.
Given a tree of order n which is neither complete nor a search tree, write a function to construct a new tree of order m in-place. Memory usage is bound to 2 times the size of the tree. The new tree must be complete, and a node A cannot be a child of another node B in the new tree if A was an ancestor of B in the old tree.
Given a list of movement commands (up, down, left, right, undo previous action), write a function that returns the final (x,y) coordinate. Follow-up: How would you handle other kinds of commands and undoing them? What kind of design pattern is this?
Given two very large timestamped sorted log files that do not fit in memory (possibly on different machines), merge them in timestamp order. Provide some test cases.
Describe how you would design a data experimentation platform.
The following metrics were computed from 214 interview experiences for the Microsoft Software Development Engineer role in Redmond, Washington.
Microsoft's interview process for their Software Development Engineer roles in Redmond, Washington is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Development Engineer interview process in Redmond, Washington.