I was contracted by a Microsoft recruiter through LinkedIn.
I had a phone screen with the recruiter, discussing my background, followed by a technical phone interview one week later.
Then, I was invited to a hiring event in Chicago for an on-site interview.
The on-site interview included four rounds, each lasting one hour.
Interview questions covered whiteboard coding, system design, and other open-ended questions.
All of the interviewers were very nice and friendly. They focused on how I approached problems and communicated with them.
I was interviewed on a Thursday and received an offer the following Tuesday.
Design a String class. Then write code to implement Insert(). Discuss the performance of Insert and Lookup. The goal is to find a solution that achieves O(logN) for both Insert and Lookup.
Write code for Push/Get to implement a ring buffer based on a fixed-size char buffer.
Communication between Client/Server for a remote file system is based on an unreliable link (99% up-time, but sometimes packets can be dropped). The client can send requests like Open, Read, Write, Seek, Close, Create, Delete to the server. How would this system deal with packet loss? ACK is not allowed, so you CANNOT use a TCP-like protocol.
Write code to implement a method that returns the top 10 most frequent words in a given string.
The following metrics were computed from 2 interview experiences for the Microsoft Software Development Engineer role in Chicago, Illinois.
Microsoft's interview process for their Software Development Engineer roles in Chicago, Illinois 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 Chicago, Illinois.