Skip to main content
Microsoft
Microsoft Entry-Level Software Engineer Interview Guide

Updated by Microsoft candidates

Back to all
VerifiedUnited States2 months ago
Microsoft

Software Engineer (SC2) Interview Experience

Microsoft·Mid Level / L4
The so-called system design round totally threw me off. He was like, "let's code it out," and wanted me to build a file system with four use cases in 45 minutes, and then the recruiter just ghosted me for a month.
Result
Waiting
Interview date
8 months ago
Timespan
1 month
Difficulty
Moderate

Interview process

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.

  • Recruiter screen
  • Phone interview
  • Final round

Interview tips

I would prep this like a coding-first loop, not like a balanced SWE loop. Even the rounds that sound like system design or hiring manager can still turn into code, so practice writing low-level design in actual class-based code, not just talking about APIs and databases. Also be ready to write your own test cases because at least in my loop there were no built-in test cases, and they cared about edge cases and complexity a lot. On the behavioral side, have stories ready on conflict, ramping up fast, learning new tech, and influencing when you are not the decision maker.

Company culture

From my experience, this team felt like it was in a hiring push because they moved quickly to schedule the loop on specific days. The interview style also felt much more coding-heavy than what I had seen from Microsoft before. I had interviewed there a few years earlier, and back then the system design round actually felt like system design. This time it felt like they had shifted toward using coding to screen almost everything. Also, even though the role was on the Copilot side, nobody asked me AI or LLM questions, which told me this team was more about integration work than core model work. The biggest negative signal was the recruiter process, because I got no compensation discussion, no feedback, and basically no response after finishing the whole loop.

Questions asked

Overview

My final loop was four 45-minute rounds spread across 2 days, and the surprising part was that every interviewer was principal-level. And almost every round, even the system design and hiring manager rounds, was still mostly coding, with a couple of behavioral questions squeezed in.

Specific questions asked

Solve this hashmap or map-based coding problem.

Write your own test cases and walk me through the edge cases.

What is the complexity of your approach?

I got through that one pretty quickly. The bigger thing was that the tool did not have built-in test cases, so I had to write my own and prove the solution with the example they gave. A decent chunk of the round went into edge cases and how I was thinking about testing, which felt intentional. Overall that one was straightforward for me.

Design a file system.

Do you want to do this as low-level design or high-level design?

Let's code it out and build the classes.

Now handle these four use cases in code.

This was the toughest round for me. I tried to clarify whether he wanted high-level system design or low-level design, because I was expecting the usual discussion around APIs, databases, SQL vs NoSQL, that kind of thing. Instead he wanted actual code, classes, and implementation details. Then he layered on four use cases inside 45 minutes. That format threw me off, and this is the round I felt I fumbled.

Implement a graph solution using BFS.

How would you combine that with a queue and then a priority queue?

What test cases and complexity considerations matter here?

This one was more familiar. I worked through a BFS-style implementation and talked about the queue setup, then the variation with a priority queue. It followed the same pattern as the other coding rounds: around 15 to 20 minutes to get the main idea down, then the rest on test cases, edge cases, and complexity. I felt good about this round.

Solve this array-based coding problem.

What edge cases would you test?

What is the complexity of your solution?

I remember this as a simple-to-medium array question, something in the swapping or reversing family. It was the hiring manager round, but even that was still coding-heavy. I solved it, then we spent the remaining time on test cases and complexity. Compared to the file system round, this one felt much easier and more normal.

Tell me about a time you had a conflict with a teammate. How did you resolve it, and what did you learn?

What if that person was much more senior than you? How would you handle it then?

I answered with a real conflict example from work and focused on how I resolved it and what I learned from it. The follow-up was really about whether I would handle it differently if the other person was much more senior. I framed it around staying respectful, grounding the conversation in the problem, and not making it personal.

Tell me about a project where you had to do something you did not know before. How did you ramp yourself up?

I gave an example of a project where I had to learn something new and explained how I ramped up. The point they seemed to care about was how fast I can learn when I do not already know the space. A lot of their behavioral questions were about learning speed and adaptability.

Have you been in a situation where you were not the final decision maker? How did you convince people?

I answered this by talking through how I communicate my thinking when I do not have final authority. I focused on how I try to align people with reasoning and tradeoffs instead of just pushing my own view. That felt like they were testing collaboration more than anything else.

When was the last time you tried something new technology-wise, in a professional or personal setting?

I used a personal example for this one, because the thing I had in mind was not from work. I explained what I tried, why I picked it up, and how I approached learning it. It was another variation of the same theme around curiosity and self-driven ramp-up.

If we put you on a very fast-paced team, how would you ramp up, document what you learn, and learn from peers?

I answered this by walking through how I would learn quickly from teammates, document as I go, and get productive without waiting around for perfect context. They seemed to care that I had a practical process for joining a fast-moving team. It was less about a specific story and more about my approach.

Unlock more real interview experiences

Get full access with a membership, or share your experience to try it free.