Microsoft Interview Experience

microsoft logo
microsoft
software engineerOngoing
November 8, 202432 reads

Summary

I had a comprehensive interview experience with Microsoft for a Software Engineer (L59) role, which included an online assessment and multiple virtual technical rounds. The interviews covered various data structures and algorithms, system design, operating systems, OOP concepts, and behavioral questions, concluding on a very positive note.

Full Experience

I had the opportunity to interview with Microsoft for a Software Engineer (L59) position, and I would like to share my comprehensive experience, which consisted of Online Assessment and Virtual Interview rounds.

Round 1: Online Assessment

The first round was an online assessment, which comprised two questions in total. One of the questions was based on dynamic programming and the second question focused on map data structures, both of Leetcode medium level.

Round 2: Technical Interview

The second round was conducted by a Senior Software Engineer. He presented me with a coding question centered around graph data structures (LC medium-hard), specifically targeting the shortest path algorithm. The problem further included some additional constraints like some nodes being banned and finding the source to destination distance via specific nodes. He further asked me about dynamic and static memory allocation.

Round 3: Technical Interview

The third round was managed by an Engineering Manager. This interview began with a casual conversation about online multiplayer games, a topic I had mentioned in my introduction. This discussion served as an excellent icebreaker and set a comfortable tone for the rest of the interview. The manager then focused entirely on my resume, rigorously questioning me about my experiences and skills in React, C++, JavaScript, Socket.io, and other technologies. Additionally, he asked questions related to Operating Systems and Object-Oriented Programming (OOP). In the Operating Systems segment, he inquired about deadlock, virtual memory, and semaphores. Furthermore, he tested my understanding of the four pillars of Object-Oriented Programming. The interview concluded on a very positive note.

Round 4: Bar Raiser + Technical Interview

The final round was conducted by the Principal Software Engineering Manager. Contrary to my expectations of a more managerial or HR-focused discussion, this interview was heavily technical. It began with an HR question, "Why do you want to join Microsoft?" for which I was well-prepared. Following this, he asked me a DSA question based on map and two pointers (LC medium). It took me some minutes to solve this question, during which we discussed its time and space complexity.

To my surprise, he presented another DSA question, this time based on tree data structures. This was the most challenging question I had encountered in any interview (LC hard). Initially, the problem was somewhat unclear to me, so I asked about some constraints and clarified my doubts. Once my questions were addressed, I attempted a brute force approach, which did not satisfy him. After careful consideration, I devised a solution with logarithmic time complexity. This strategic approach turned out to be a pivotal moment, as he was highly impressed with my solution.

Interview Questions (3)

Q1
Shortest Path with Banned Nodes and Specific Via-Nodes
Data Structures & AlgorithmsMedium-Hard

The coding question was centered around graph data structures, specifically targeting the shortest path algorithm. The problem included additional constraints such as some nodes being banned and the requirement to find the source to destination distance via specific nodes.

Q2
Operating Systems Concepts: Deadlock, Virtual Memory, Semaphores
Other

The interviewer inquired about fundamental concepts in Operating Systems, specifically focusing on deadlock, virtual memory, and semaphores.

Q3
Four Pillars of Object-Oriented Programming
Other

The interview included questions to test my understanding of the four fundamental pillars of Object-Oriented Programming (OOP).

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!