Had an initial interview with a recruiter.
Then had a tech screen (phone interview), followed by an on-site interview with 3 engineering leads, and finally an interview with the manager.
This happened on Friday, and I received the offer on the following Monday.
Incredibly professional, engaging, and challenging. I learned quite a bit about myself in the process.
I must give credit to Microsoft!
From the arrangements (flight, hotel, etc.) to the actual interviews, it was a genuine pleasure. I highly recommend the experience.
Questions on design patterns:
Design a system for a hypothetical e-commerce store, focusing on entities and making it distributed.
Print a matrix in spiral fashion. (Arrows indicate how the spiral happens: start at the first arrow, go in a circle, and move to the next arrow, etc.) Matrix input example: ->1 1 1 1 1 1 -> 2 2 2 1 1 2 2 2 1 1 1 1 1 1 Output: 11111111111111222222
Clone a linked list that has a cycle (do not fix the cycle). Is there a way to uniquely identify a node without relying on a hash code?
Develop an XML parser (rules: Node closures and a single root node; i.e., the root node cannot be duplicated in structure).
Count occurrences of words in a string that is too large to be processed in memory.
Develop an LRU cache.
Design a distributed file storage system with load balancing and fail-safes (e.g., a machine taken offline or a new machine/node added).
The following metrics were computed from 21 interview experiences for the Microsoft Senior Software Development Engineer role in Redmond, Washington.
Microsoft's interview process for their Senior Software Development Engineer roles in Redmond, Washington is on the easier side as most engineers get an offer after going through it.
Candidates reported having very good feelings for Microsoft's Senior Software Development Engineer interview process in Redmond, Washington.