Status: New grad, MS CS Top 100 CS school
Position: SWE at Microsoft (Operating Systems Team)
Date: November 1st
Applied for an On-Campus Interview.
On Campus (1 hr):
First, we talked about my resume and interests. Later he gave me coding questions:-
- Given a string and flag, find if the string is a palindrome or not. If the flag is true, consider spaces otherwise don’t.
- How to differentiate between a graph and a tree? Follow up: How to check for cycles?
- Similar to https://leetcode.com/problems/word-search/ except that we are given an API that will tell you if the given word is valid or not.
Invited for on-site the next day.
Onsite - November 1st:
Total 4 rounds each 45-60 mins
Round 1 (Senior SWE OS Security Team):
The interviewer started with his introduction and what his team is doing. Later, he asked about me and started discussing my projects. One of my projects piqued his interest and we had a long discussion on it. He forgets about the time and later told me he had a coding problem in his mind. He gave me the problem and asked me to just tell him the approach to solve the question.
Coding question: Similar to tick tac toe except that the player can only put cross or zero in the lowest most empty cell on the board.
Round 2 (OS Security Team Manager):
The interviewer was working in Microsoft for the last 20 years. He was really smart and I could tell this round can make or break my chances at Microsoft. He straight away gives me the problem.
Similar to BST Successor except that you’re given a pointer to that node and you also have the access to the parent of all the nodes from the node. You’re not allowed to traverse the whole tree. You can traverse from that given node though.
Solved the problem within 10 mins. I was writing the code on a whiteboard and in between he told, you’re fine. Sit. We later discussed how many teams are for the operating system and where I wanna go.
Round 3 (OS ERP Manager):
He talked about my resume and asked me about my projects. I could tell by his question that he went through my GitHub and resume thoroughly.
Coding question: https://leetcode.com/problems/linked-list-cycle/
Follow up: Find all the nodes in the cycle
Then we discussed Microsoft culture and how I fit in it.
Round 4 (Senior SWE OS ERP Team):
I liked this guy. His enthusiasm for everything was great. He talked about my projects a lot. Then he gave me a coding question.
Given two points(x1,y1) and (x2,y2), draw a straight line. The line can be at any angle.
What happens in the backend when we left-click on a screen?
Later, we discussed the Microsoft culture.
The interviewers were smart and very helpful throughout the interviews. I’m still waiting for the result.
Preparation - Solved 300 LC problems only.