Microsoft | 2020 | SDE-2 | L-61

microsoft logo
microsoft
SDE-2Offer
September 15, 202415 reads

Summary

I successfully interviewed for an SDE-2 role at Microsoft in 2020 and subsequently joined the company. My interview process included two coding rounds focusing on data structures and algorithms, followed by a system design round.

Full Experience

I interviewed at Microsoft in 2020 for an SDE-2 position. I'm sharing my experience hoping it helps others, even though it's a few years old now and the relevance might have shifted slightly. Due to an NDA, I've made minor modifications to some of the questions presented.

My interview process consisted of two distinct coding rounds, followed by a comprehensive system design round. In the first coding round, I was presented with two problems: one focused on optimizing product distribution and another on matrix manipulation. The second coding round challenged me with a problem involving unique string generation from a character set and a search problem in a rotated sorted array.

The system design round was particularly engaging. It began with a problem related to handling very large files, specifically designing a solution to remove duplicate lines when the file cannot be entirely loaded into memory, leveraging concepts from external merge sort. This was followed by discussions on foundational software engineering principles like SOLID and various design patterns.

Interview Questions (7)

Q1
Minimize the Maximum Products Distributed to Any Store
Data Structures & AlgorithmsMedium

The problem involved determining the minimum possible value for the maximum number of products any single store receives, given a number of stores and product quantities.

Q2
Set Matrix Zeroes
Data Structures & AlgorithmsMedium

Given an m x n integer matrix, if an element is 0, set its entire row and column to 0's.

Q3
Count Unique Strings from Characters
Data Structures & Algorithms

Given a set of characters (which may include repeats), the task was to count how many unique strings can be generated using these characters.

Q4
Find in Rotated Sorted Array with Duplicates
Data Structures & AlgorithmsMedium

The problem required searching for a target value in a rotated sorted array that might contain duplicate elements.

Q5
Remove Duplicate Lines from Large File
System DesignHard

Derived from the External Merge Sort concept, this system design question asked to devise a method to remove duplicate lines from a very large file that cannot be loaded into memory all at once.

Q6
Discussion on SOLID Principles
Other

A discussion centered around the SOLID principles of object-oriented design and their practical applications.

Q7
Discussion on Design Patterns
Other

A discussion on various common software design patterns and when to apply them.

Preparation Tips

For my preparation, I utilized various resources. Specifically, I referred to the details outlined in my Google interview preparation blog, which provided a comprehensive guide to my study strategy.

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!