I applied online. The process took 2 months. I interviewed at Microsoft (Egypt, NC) in Mar 2025
Interview
There were two 45-minute interviews. The first focused on problem-solving: I introduced myself, was given a problem, and we discussed multiple approaches. I implemented one solution, completed a follow-up task, and then compared my implementation to a better alternative while discussing time and memory trade-offs.
The second began with a brief introduction and a walkthrough of two of my projects and their flows. The interviewer then asked about hash maps (how they’re implemented), basic OS concepts, and databases.
Interview questions [1]
Question 1
You have n balls in a row; ball i has weight w[i] and value v[i]. You may repeatedly take either the leftmost or rightmost remaining ball, stopping anytime, but the total weight taken must not exceed W. What is the maximum total value you can collect?
Stage 1: Take-Home Assessment – A 1-hour coding assignment consisting of two technical questions (one Easy and one Medium).
Stage 2: Virtual Interview Day – A Zoom-based interview day comprising three consecutive interviews.
Star method completely end to end with 3 interviews in the same day. It was online and then we were split into rooms. You mess up one and you mess up all
Maximum subarray questions+ oops + dbms. find the contiguous (connected) sequence of numbers within a 1D array that has the largest possible sum, a classic computer science problem solvable efficiently with Kadane's Algorithm (Dynamic Programming/Greedy) in O(N) time, handling positive, negative numbers, and returning just the sum. Variations exist, like finding the maximum product or handling 2D arrays,
Interview questions [1]
Question 1
find the contiguous (connected) sequence of numbers within a 1D array that has the largest possible sum, a classic computer science problem solvable efficiently with Kadane's Algorithm (Dynamic Programming/Greedy) in O(N) time, handling positive, negative numbers, and returning just the sum. Variations exist, like finding the maximum product or handling 2D arrays,