Round 1: System Design.
First, the interviewer asked me about my current company's projects, covering topics like how to handle too many requests and multiple writing requests on the same object.
Then, they asked me to design a mechanism to crawl two websites (follow-up: a lot of websites).
Round 2: Coding.
Implement a function to add files to a file management system.
Round 3: Lunch & Interview, Coding.
First question: Serialize and deserialize a binary tree.
Second question: Write a function to find spam emails (emails sent from incorrect names, like "Micr0s0ft" or "amezon").
System design. First, the interviewer asked me about my current company's projects, like how to handle too many requests and multiple writing requests in the same object, etc. Then, he asked me to design a mechanism to crawl two (follow-up: a lot of) websites.
Implement a function to add files to a file management system.
Serialize and deserialize a binary tree.
Write a function to find spam email (emails sent from wrong names like “Micr0s0ft” or “amezon”).
Implement a calculator with +, *, (, and ).
The following metrics were computed from 999 interview experiences for the Microsoft Software Engineer role in United States.
Microsoft's interview process for their Software Engineer roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Engineer interview process in United States.