I interviewed for an SC2 software engineer role on Microsoft's Experience + Devices team, focusing on Copilot integration into the Microsoft 365 suite. After I applied, I got a standard engineer screen that was pretty easy, then they moved quickly into a 4-round final loop over 2 days, which felt like they were on a hiring drive.
The weird part was that every final-round interviewer was principal-level, and almost every round, even the system design and hiring manager rounds, was still basically coding. The hardest round by far was a file system prompt where I expected a standard system design, but they wanted a low-level design coded up with classes and multiple use cases in 45 minutes. I still have no official outcome because the recruiter ghosted me for a month after the loop, so honestly, this ended up being the worst interview experience I have had with any company.
It was my first big tech round after many years. The coding interviewer was friendly but for system design, it was little difficult as the problem statement was tricky for me.
still in progress but just leetcode prep. Studied some dsa and system design. Also dynamic programming helps.
The round was easy - I had to go over my current responsibilities and my work.
I was asked a coding question as well so prepare DSA well
The engineer was good, worked with you to solve the problem. I confused between LRU and LFU which I think was the major problem.
Directly applied on their portal, Recruiter reached out to me directly on LinkedIn as well and I got interviewed by Microsoft or a Senior Software engineer role in March end and here's the experience
Directly applied on their portal, Recruiter reached out to me directly on LinkedIn as well and I got interviewed by Microsoft for a senior software engineer role in April.
Software Engineer
1. Hiring Manager round - 1 hr
2. Virtual Onsite - 4 rounds 1 hr each
It didn't go as expected. I did not have as many interviews as expected, and overall, the process wasn't great as the recruiter changed midway.
The process was quick with all interview rounds initially scheduled in the same week.
The technical interviews were adapted to real world code implementations and didn't directly relate to Leetcode style problems.
The system design round was very open-ended with no definite question and highly ambiguous requirements.
Screen plus three loop rounds, all four back to back in one day. Coding problems were standard stuff, nothing exotic. What got me was that every single one had a follow-up that killed my first answer. Bounded the input range on the median problem, pushed hard on edge cases in the editor. If you only have one approach ready you'll stall.
What went well: recruiter was clear about the format, no surprises on logistics. Rounds started on time.
What didn't: I underestimated how draining four in a day is. By the calculator round I was slower than I should have been on something I've done plenty of times. The behavioral questions were also mixed into the coding rounds instead of getting their own slot, so I was context switching the whole time.
Software Engineer
1. Hackerrank assessment test
2. Explain Leader follower election system.
assessment went well, two medium LC questions, loop had 3 rounds, two rounds were medium LC, one round was CS fundamentals.
Software Engineer
Made it to the final round and got shortlisted.
They asked 3 questions total. Only one was a typical leetcode style question but the interviewer tweaked it pretty hard. Whenever I got stuck they kept pushing me with follow up questions to help me think my way out rather than just giving me the answer. Good way to test how you handle pressure honestly.
Topics covered were linked lists, OOP combined with queues, and inheritance. So brush up on your fundamentals, not just grinding leetcode patterns.
They also drilled into my resume quite a bit so make sure everything on there is something you can actually speak to.
Overall difficulty I'd say medium. And for context I had only done around 30 to 40 leetcode questions at that point and still walked away with an offer 2 days later.
Good luck!
The process was smooth, the interviewers were helpful. I messed implmenting LRU cache as I had never seen that question before.
Software Engineer
Software Engineering Intern
The overall interview process was well-structured and organized. The interviewers were professional, friendly, and gave me sufficient time to think through problems and discuss my approach. I appreciated that the rounds covered a good mix of coding, design, and behavioral topics, allowing me to demonstrate both technical depth and problem-solving skills.
What went well was the technical discussion around system design and real-world engineering challenges. The interviewers encouraged clarifying questions and were interested in understanding my thought process, trade-off analysis, and experience operating large-scale systems. The coding problems were relevant and allowed for meaningful follow-up discussions around optimization and scalability.
One area that could have gone better was time management during some of the coding rounds. While I arrived at correct solutions, I spent more time than expected discussing edge cases and alternative approaches, which left less time for implementation refinements and testing. In hindsight, I could have balanced exploration and execution more effectively.
Overall, it was a positive experience. The process felt fair, technically challenging, and reflective of the engineering problems one would encounter in the role. I also enjoyed interacting with the interviewers and learning more about the team's work and technical challenges.
- You are given n courses labeled from 0 to n-1.
Some courses have prerequisites. For example:
[1, 0]
means:
To take course 1, you must first complete course 0.
Determine a valid order in which all courses can be completed.
Good process, hard Leetcode, I struggled a little, but managed to get through it. Graph questions. Debugging questions.
- Design a distributed system.
My onsite interview went very well was able to solve all 4 rounds questions. Communication was the key. Finally two teams were interested to hire me
- Basic question about experience
- 3 questions, Leetcode Easy to Medium level difficulty
- LLD Design with Data Modeling
Everything went well and my second interview of my final round was just a conversation. First interview was more technical just to see if I could talk about and execute technical concepts.
Intro and Most critically challanging past project (around 10-15 minutes)
Design a configuration service which is responsible for updating configurations existing on n number of microservices existing in our architecture - High level System design discussion (arond 25-30 minutes)
Software Engineer
Software Engineer
The process was quick with all interview rounds initially scheduled in the same week. The technical interviews were adapted to real world code implementations and didn't directly relate to Leetcode style problems. The system design round was very open-ended with no definite question and highly ambiguous requirements.