← Interview experiences
Got the offer

SDE2 at Microsoft

Difficulty
Process took
3-4 Weeks
Rounds
6
Format
Remote
Applied via
Referral

How it went

  • The interview process at Microsoft was intense but extremely enriching. Despite the long wait for the offer letter, I’m excited about the opportunity ahead.
  • If you're preparing for Microsoft or any tech company with similar expectations, don’t rush, think critically, and communicate effectively. Stay focused on both technical skills and soft skills, and you’ll be just fine.

What they would tell you

  • The interview process at Microsoft was intense but extremely enriching. Despite the long wait for the offer letter, I’m excited about the opportunity ahead.
  • If you're preparing for Microsoft or any tech company with similar expectations, don’t rush, think critically, and communicate effectively. Stay focused on both technical skills and soft skills, and you’ll be just fine.

How to prepare

  • The technical rounds at Microsoft will test your core DSA knowledge. Focus on arrays, linked lists, trees, and graph-based problems.
  • The key to succeeding in these rounds is time management. Make sure you understand how to break down problems and tackle them in manageable steps.

Round by round

  1. 1

    Codility Online Assessment60 min

    I was referred to the SDE2 role at Microsoft. After submitting my application, I heard back from a recruiter a few days later, who invited me to take the Codility Online Assessment. The test consisted of two questions, both DSA-based. There were hidden test cases that ran when you submitted the solution.

    • DSA Problem: Based on arrays, This was a fairly straightforward problem, which I completed in 10 minutes.
    • Debugging Problem: A BFS-based code where I had to add two lines to make it work. I finished this in 5 minutes. Four days later, I received the good news that I had passed and was moving to the next round.
  2. 2

    DSA 160 min

    The first technical round was great. The interviewer was friendly and started with some background questions before diving into the coding problems.

    • Asteroid Collision Problem - I solved it in 20 minutes with a clean code implementation and tested it.
    • Merge in Between Linked Lists - This one took me 30 minutes as it required carefully handling pointer manipulations and running test cases.
  3. 3

    DSA 260 min

    The interview started with a friendly conversation about my resume. The interviewer asked about some of my past projects, and then we jumped into the DSA problem. The problem was related to finding the cheapest flights with K stops. It was a slight variation of the usual problem, but I managed to solve it in 40 minutes. Throughout the coding process, the interviewer asked a lot of C++-specific questions, which kept me focused on syntax and concepts. Afterward, we spent the last 15 minutes discussing the challenges I’ve encountered in my career and the personal projects I’ve worked on.

  4. 4

    Low-Level Design60 min

    The design question was as follows: Design: Transaction Filtering System

    • The task was to filter transactions based on customer ID, start and end duration, and other user inputs.
    • I started by discussing the general structure of the system, using classes and interfaces.
    • The interviewer later asked me to make the implementation thread-safe, which I addressed using mutexes and locks.
    • After running test cases, the interviewer seemed satisfied with my approach.
  5. 5

    High-Level Design60 min

    Design Problem: Cloud-Logging System

    • The task was to design a cloud-based logging system similar to CloudWatch Logs.
    • I focused on scalability, data storage, and log aggregation.
    • The interviewer didn’t interrupt much, indicating that he was satisfied with the direction I was taking.
  6. 6

    Hiring Manager Round45 min

    This round was relatively casual but still thought-provoking. The problem posed was how many physical devices are required in a data center? At first, it seemed like a puzzle. I started by considering traffic estimation, load analysis, and storage requirements. However, the interviewer encouraged me to look beyond the technical specifics and focus on more high-level factors, such as electricity usage and space requirements. The discussion was pretty engaging, and we ended up with a good understanding of how I approach complex, non-technical problems. By the end of the session, the interviewer even hinted that there might be an offer coming my way.

What came up

HardRemote3 4 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources