Microsoft Interview Experience | SDE-II | Offer Received
Summary
I successfully received an offer for the SDE-II role at Microsoft in Bengaluru after a comprehensive interview process that included an online assessment, two technical rounds, a system design round, a hiring manager round, and a senior-level evaluation.
Full Experience
My Interview Journey at Microsoft for SDE-II
I applied for multiple job IDs for the SDE-II role at Microsoft through their careers portal, both with and without referrals. To my surprise, I received an Online Assessment (OA) invitation for this particular role even without a referral.
Round 1: Online Assessment (OA)
The first round was conducted on the HackerRank platform and consisted of two medium-level coding questions, both focused on data structures and algorithms. I managed to pass all test cases for both problems. The very next day, I received an email from the recruiter for interview scheduling, and I requested the interviews to be held a week later.
Round 2: Onsite Technical Round 1
Two interviews were scheduled on the same day. Unfortunately, I joined the first interview late — I had mistakenly noted the time as 11 AM, but it was actually 10 AM. Around 10:10, the recruiter called to inform me that the interviewer was waiting, and I quickly joined. Thankfully, the interviewer was very understanding.
We started with a brief discussion about my background and work experience. Then, I was given a DSA question: "Check if a given linked list is a palindrome." I quickly wrote and executed the code for the given test cases. As we had less time, he didn’t go into deep follow-ups and moved on to an LLD + DSA hybrid question: "Design a simplified version of Twitter." He expected runnable code, and while explaining my approach, he also asked a few high-level design (HLD) questions around scalability. He seemed satisfied by the end of the discussion.
Round 3: Onsite Technical Round 2 (HLD)
This round was purely focused on system design. After my introduction, I was asked two design problems:
- Design a Logging and Password Management System
- Design a URL Shortener
I explained both with multiple solution approaches, discussed trade-offs, and walked through the core logic and algorithms. Since the team worked in the security domain, I was also asked a few conceptual questions, such as: "What is the difference between Authentication and Authorization?"
Round 4: Hiring Manager (HM) Round
The next day, I received a call from the recruiter to schedule the Hiring Manager round. This round was a deep dive into my past projects — we discussed the HLD decisions and trade-offs I made in real scenarios. The manager also explained what their team does and asked about my relocation preferences. The conversation was technical yet very friendly.
Round 5: As Appropriate (AA) Round)
After Diwali, I was informed there would be one more round — the AA round (similar to a senior-level behavioral + technical evaluation). Although the recruiter mentioned it would be mainly behavioral, based on LeetCode posts, I expected HLD questions too — and that turned out to be true.
My interviewer was a Director with over 30 years of experience at Microsoft. He started with questions on my resume and work experience, and then moved to a unique HLD problem: "Windows has become sluggish due to multiple requests of objects from users. How would you make it smoother and improve memory management and garbage collection?" Initially, I approached it from a web system point of view (thinking of caching, CDN, etc.), but he clarified it’s from an Operating System perspective. After some thought, I proposed ideas around object lifecycle management, memory pooling, and garbage collection strategies. It wasn’t a perfect solution, but he appreciated my reasoning process. The remaining 20–30 minutes focused on behavioral and team-related questions — leadership, collaboration, and conflict resolution scenarios.
Final Steps
The next day, I got an email from the recruiter to share my documents. After about a week, I received a verbal offer call! 🎉
Interview Questions (6)
Check if a given linked list is a palindrome.
Design a simplified version of Twitter. The interviewer expected runnable code and asked a few high-level design (HLD) questions around scalability.
Design a Logging and Password Management System. I was expected to explain this with multiple solution approaches, discuss trade-offs, and walk through the core logic and algorithms.
Design a URL Shortener. I was expected to explain this with multiple solution approaches, discuss trade-offs, and walk through the core logic and algorithms.
What is the difference between Authentication and Authorization?
Windows has become sluggish due to multiple requests of objects from users. How would you make it smoother and improve memory management and garbage collection? The interviewer clarified this should be approached from an Operating System perspective.
Preparation Tips
Preparation Strategy
My preparation focused heavily on DSA fundamentals, particularly Linked Lists, Trees, and Graphs, as these are frequently tested. For system design, I ensured I was well-versed in both High-Level Design (HLD) and Low-Level Design (LLD). I primarily used resources like Hellointerview and Alex Xu's System Design Interview Vol 1 and Vol 2 to deepen my understanding.
Beyond technical skills, I also learned the importance of staying calm and communicating effectively during the interview, even if unexpected situations arise, like joining late.