SWE intern
Interview Date
14-08-2026
Result
Rejected
Difficulty
Medium
Rounds
02
Drive Type
Off-Campus
Topics asked
Detailed experience
I applied for the Software Engineering Intern position at Microsoft through the off-campus hiring process. After my resume was shortlisted, I was invited to the online assessment. The overall process was strongly oriented toward algorithmic problem solving, with the technical interviews focusing on DSA, complexity analysis, implementation and project-level discussions. Online Assessment The OA consisted of two coding problems with medium-to-hard difficulty. The problems required identifying an efficient algorithm under the given constraints rather than implementing a direct brute-force solution. I approached each problem by first analyzing the constraints, identifying the relevant data structure, and then deriving the expected time complexity before writing the implementation. I was able to solve the assessment and move to the interview stage. Technical Round 1 The first technical interview started with a discussion about my background and then moved directly into DSA. The first problem was Reverse Linked List. I explained both the iterative and recursive approaches and compared their space complexities. I then implemented the iterative solution using pointer manipulation. The next problem was based on Open the Lock. I modeled each lock configuration as a graph state, where every configuration has up to eight possible transitions. I used BFS to find the minimum number of moves because every state transition has equal cost. I also discussed maintaining a visited set to avoid processing the same state multiple times. The interviewer then asked questions related to binary-tree traversal. We discussed DFS and BFS, their recursive/iterative implementations, and when each traversal is useful. The final coding discussion involved combining backtracking with BFS. I initially considered generating valid configurations recursively and then discussed how BFS could be used when the objective was to minimize the number of transitions. Throughout the round, I was expected to justify the correctness of the approach and provide the time and space complexity. The interviewer also introduced edge cases and asked me to modify the approach accordingly. Technical Round 2 The second technical round started with a deeper discussion of my projects. I explained the system architecture, the technologies used, the major components and some of the implementation decisions. The interviewer asked follow-up questions about scalability, data flow and the reasoning behind specific design choices. The coding portion included the Gas Station problem. I first described the brute-force solution and its complexity. I then derived the greedy approach by maintaining the total gas surplus and the current tank balance. The key observation was that if the cumulative balance becomes negative at position i, no station from the current starting position through i can be a valid starting point. Therefore, the candidate starting position can be moved to i + 1. This gives an O(n) solution with O(1) auxiliary space. The interviewer also asked behavioral questions related to project challenges, decision-making and situations where I had to debug or resolve an implementation issue. Unfortunately, I was not selected after the final round. The main takeaway from the process was that the interviews evaluated more than the ability to produce working code. I had to reason about algorithm selection, correctness, complexity, edge cases and implementation details while communicating the solution in real time. For preparation, I would focus on arrays, strings, linked lists, trees, graphs, BFS/DFS, recursion, backtracking, greedy algorithms and dynamic programming. I would also practice deriving solutions from constraints instead of memorizing problem-specific implementations. Project preparation is equally important. Any technology or architecture mentioned on the resume can become a discussion point, so I would be comfortable explaining the internal working, trade-offs and limitations of every project. Overall, although I wasn't selected, the Microsoft process gave me good exposure to technical interviews where problem-solving methodology, algorithmic complexity and clear technical communication are evaluated together.