Backend Engineer | Zenskar
JP Morgan Chase | SDE 3 | YOE 3.4
Microsoft SDE - 2 | Interview Experience | Status Pending
eBay || SWE3 Interview Experience || Bangalore
Bloomberg | Interview Experience | Senior Software Engineer | NYC | Nov 2025
Microsoft | SDE1 | Bangalore, India | New Grad | Jan 2022 [Result Awaiting]
Summary
I recently went through a 4-round interview process for an SDE1 position at Microsoft in Bangalore, India, after receiving a referral. The interviews covered a mix of data structures and algorithms, behavioral questions, and system design concepts, with results currently awaiting.
Full Experience
Microsoft SDE1 Interview Experience - Bangalore, India
I am a 2021 BTech CSE graduate from a Tier-2 college, currently working as an SDE1 at American Express. I managed to secure an interview at Microsoft through a friend's referral. HR reached out to me, informing me about an initial set of three technical rounds, followed by a potential fourth round.
Round 1 (Technical)
This round was with an SDE II from Microsoft, based in the USA. We started with my self-introduction, followed by a discussion about my current projects at American Express. She also asked me to elaborate on one of my college projects.
Then, she moved on to some behavioral questions:
- Tell me about a time when you faced a challenge in your life and how did you overcome it?
- Tell me about a time you innovated something.
For the coding part, I was asked to share my screen and solve the following problems on my local IDE:
- Two Sum: I successfully solved this problem.
- Partition Equal Subset Sum: I solved this using recursion. I anticipated she might ask me to optimize it, but instead, she asked me to write test cases for my code.
After solving, I was asked to discuss the Time and Space Complexity of both solutions I provided. The interviewer was very pleasant and concluded by telling me about her team and the products they work on.
Round 2 (Technical)
My second technical interviewer was also an SDE II from Microsoft, USA. Similar to the first round, she began by asking about my current projects. After that, she directly moved into the problem-solving section.
The question was framed as a long story about designing a money exchange system, but it ultimately distilled down to a core problem: Finding the lower and upper bound of a number in a sorted array. I presented both linear and binary search solutions. She then asked for the complexity analysis of both and requested me to code the binary search solution. I felt she was looking for an object-oriented approach. I faced a challenge with a specific corner case but managed to resolve it by the end of the interview. The interviewer had another meeting and had to leave shortly after.
Round 3 (Technical)
This round was conducted by a Senior Engineer from Microsoft, USA. As expected, he started by questioning me about my projects from both my current firm and college, even cross-questioning me on a few details. Post that, we jumped into the coding problems:
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock IV
- All Nodes Distance K in Binary Tree
I wasn't required to code the first two questions, but for all of them, I provided the optimal solutions. He then asked for the time and space complexity of all my proposed solutions.
A few days later, HR contacted me to schedule an additional round.
Round 4 (Technical + Managerial)
This final round was with a Principal Software Engineer from India, who I believe had about 18 years of experience. Interestingly, there were no coding questions in this round. Instead, he asked a series of conceptual and managerial questions:
- Initially, he asked about my current project.
- Then, my major college project.
- If you're given a problem, how will you choose the programming language in which that problem should be solved?
- What qualities should a software engineer have? Which one is the most important to you and why?
- Let's suppose you're given a task to code a washing machine, which language will you choose?
- There is a client, sitting in space, and the server is here in India. The client is taking pictures of space and sending them to the server. How will you implement a system like this?
- What is DevOps?
- What is OOPS? How will you explain it to a non-technical person?
- Tell me about a technology update you've heard of in the last month.
- What according to you are Distributed Systems?
I'm still unsure about the correctness of some of my answers, especially for question 6.
Overall Review:
My key takeaways are that an in-depth understanding of DSA concepts is crucial, particularly knowing how to derive the time and space complexity of your solutions. The interview process itself was smooth, and the interviewers were polite and helpful when I got stuck. I'm currently awaiting the final results.
Interview Questions (17)
Tell me about a time when you faced a challenge in your life and how did you overcome it?
Tell me about a time you innovated something.
The problem involved designing a system for money exchange, which ultimately required finding the lower and upper bound of a given number in a sorted array.
You are given an array prices where prices[i] is the price of a given stock on the i-th day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.
You are given an integer array prices where prices[i] is the price of a given stock on the i-th day. On each day, you may decide to buy and/or sell the stock. You can only hold at most one share of the stock at any time. However, you can buy it then immediately sell it on the same day. Find the maximum profit you can achieve.
You are given an integer array prices for which prices[i] is the price of a given stock on the i-th day. You are also given an integer k. Find the maximum profit you can achieve. You may complete at most k transactions. Note: You may not engage in multiple transactions simultaneously (i.e., you must sell the stock before you buy again).
If you're given a problem, how will you choose the programming language in which that problem should be solved?
What qualities should a software engineer have? Which one is the most important to you and why?
Let's suppose you're given a task to code a washing machine, which language will you choose?
There is a client, sitting in space, and the server is here in India. The client is taking pictures of space and sending it to the server. How will you implement a system like this?
What is DevOps?
What is OOPS? How will you explain it to a non-technical person?
Tell me about a technology update you've heard of in the last month.
What according to you are Distributed Systems?