Microsoft Azure Compute
Brief Background: I was recently contacted by a Microsoft recruiter for an Azure Compute role.
Round 1: DSA The interviewer, a senior engineer, presented a well-known problem: Asteroids Collision. I solved the problem without hints but encountered a minor issue during code compilation, which I resolved during a dry run.
Round 2: LLD The interviewer, a principal engineer, discussed my current project and then asked me to design a Rate Limiting system. I answered all questions successfully, and my solution was deemed satisfactory.
Round 3: LLD The interviewer, a senior manager, discussed my current role and then presented an LLD design problem: designing a system for collaboration between different real estate companies. The discussion went well, and the interviewer appeared satisfied with my solution. I reflected afterward that some aspects of my response could have been improved. The interviewer concluded by asking about my opinions on code quality and security; I shared my views, and he seemed satisfied.
Round 4: Behavioral Following an introduction, the interviewer asked about my most challenging work experience. Then, despite the recruiter stating this round would be non-technical, the interviewer presented an LLD problem: designing Microsoft Excel and implementing functionality to update dependent cell values. I attempted a solution using the Composite Design pattern, but encountered difficulties and explored Topological Sort, though I didn't fully implement it within the time constraint. I feel I did not perform as well in this round as in previous rounds. The interviewer focused on my approach and did not indicate any specific errors.
I then asked clarifying questions about team work and job location. The interviewer provided details about different teams and discussed my preferences. This discussion led me to believe I might receive an offer.
I subsequently received a request to submit documentation.