Microsoft | SDE1 | Bangalore, India | New Grad | Jan 2022 [Result Awaiting]

microsoft logo
microsoft
SDE IBangalore, IndiaOngoing
January 23, 20220 reads

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:

  1. Tell me about a time when you faced a challenge in your life and how did you overcome it?
  2. 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:

  1. Two Sum: I successfully solved this problem.
  2. 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:

  1. Best Time to Buy and Sell Stock
  2. Best Time to Buy and Sell Stock II
  3. Best Time to Buy and Sell Stock IV
  4. 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:

  1. Initially, he asked about my current project.
  2. Then, my major college project.
  3. If you're given a problem, how will you choose the programming language in which that problem should be solved?
  4. What qualities should a software engineer have? Which one is the most important to you and why?
  5. Let's suppose you're given a task to code a washing machine, which language will you choose?
  6. 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?
  7. What is DevOps?
  8. What is OOPS? How will you explain it to a non-technical person?
  9. Tell me about a technology update you've heard of in the last month.
  10. 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)

Q1
Challenge and Overcoming It
Behavioral

Tell me about a time when you faced a challenge in your life and how did you overcome it?

Q2
Innovation Experience
Behavioral

Tell me about a time you innovated something.

Q3
Two Sum
Data Structures & AlgorithmsEasy

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.

Q4
Partition Equal Subset Sum
Data Structures & AlgorithmsMedium

Given a non-empty array nums containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal.

Q5
Lower and Upper Bound in Sorted Array
Data Structures & AlgorithmsMedium

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.

Q6
Best Time to Buy and Sell Stock
Data Structures & AlgorithmsEasy

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.

Q7
Best Time to Buy and Sell Stock II
Data Structures & AlgorithmsMedium

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.

Q8
Best Time to Buy and Sell Stock IV
Data Structures & AlgorithmsHard

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).

Q9
All Nodes Distance K in Binary Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, a target node in the tree, and an integer k, return an array of the values of all nodes that have a distance k from the target node. The distance between two nodes is the number of edges in the unique path between them.

Q10
Choosing a Programming Language
Other

If you're given a problem, how will you choose the programming language in which that problem should be solved?

Q11
Qualities of a Software Engineer
Behavioral

What qualities should a software engineer have? Which one is the most important to you and why?

Q12
Washing Machine Programming Language
Other

Let's suppose you're given a task to code a washing machine, which language will you choose?

Q13
Space Client-Server System Design
System DesignHard

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?

Q14
Understanding DevOps
OtherEasy

What is DevOps?

Q15
Explaining OOPS
OtherEasy

What is OOPS? How will you explain it to a non-technical person?

Q16
Recent Technology Update
Behavioral

Tell me about a technology update you've heard of in the last month.

Q17
Understanding Distributed Systems
System DesignMedium

What according to you are Distributed Systems?

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!