Microsoft interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Microsoft
upvote
share-icon
5 rounds | 7 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 3 months
Topics: Data Structures, OOPS, Trees, DP, System Design, Striver's Sheet
Tip
Tip

Tip 1 : Good to be clear with the approaches rather than mugging up the solutions. For example: refer Aditya Verma's DP series, it will help you build approach towards DP and recursion based questions.
Tip 2 : Try to keep the SD interview more involved and make it more of a discussion than interview while building the approach/models/classes. (It worked atleast for me).
Tip 3 : Doing these SDE sheets can help, as they cover vast questions and their varied approaches.

Application process
Where: Other
Eligibility: Non mentioned. But they needed someone with experience in C++
Resume Tip
Resume tip

Tip 1 : Don't describe any project/intern or workX in vague or generic way. Try to keep it more tech oriented , with some metrics to show your contribution within them.
Tip 2 : Focus on putting job requirement related stuff first and then others, while applying for them. If you've experience then I don't think there is need to mention 10th/12th grades. Can rather add Achievements and Hobbies.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 minutes
Interview date16 Apr 2022
Coding problem1

2 questions.
One was to change one line and fix the code don't remember it.
Other was DP question.

1. Ways To Make Coin Change

Moderate
20m average time
80% success
0/80
Asked in companies
MicrosoftHSBCOracle

You are given an infinite supply of coins of each of denominations D = {D0, D1, D2, D3, ...... Dn-1}. You need to figure out the total number of ways W, in which you can make a change for value V using coins of denominations from D. Print 0, if a change isn't possible.

Try solving now
02
Round
Medium
Video Call
Duration60 Minutes
Interview date20 Aug 2022
Coding problem2

Was asked to implement stack class using with exception handling and some specific functions too like copy constructor etc.
Apart form it, they asked about smart pointers, singleton and design patterns in cpp.

1. Technical Question

Was asked to implement stack class with exception handling and some specific functions too like copy constructor etc

Problem approach

I implemented stack using linkedlist, considering it would be better in terms of space management and complexity.

2. OS Questions

They asked about smart pointers, singleton and design patterns in cpp.

03
Round
Medium
Video Call
Duration80 Minutes
Interview date20 Aug 2022
Coding problem1

Asked about my work in previous company.
Asked to implement Snake and Ladder.

1. Snake and Ladder

Moderate
30m average time
60% success
0/80
Asked in companies
MeeshoVisaMicrosoft

You have been given a Snake and Ladder Board with 'N' rows and 'N' columns with the numbers written from 1 to (N*N) starting from the bottom left of the board, and alternating direction each row.

For example

For a (6 x 6) board, the numbers are written as follows:

6*6 Board

You start from square 1 of the board (which is always in the last row and first column). On each square say 'X', you can throw a dice which can have six outcomes and you have total control over the outcome of dice throw and you want to find out the minimum number of throws required to reach the last cell.
Some of the squares contain Snakes and Ladders, and these are possibilities of a throw at square 'X':
You choose a destination square 'S' with number 'X+1', 'X+2', 'X+3', 'X+4', 'X+5', or 'X+6', provided this number is <= N*N.
If 'S' has a snake or ladder, you move to the destination of that snake or ladder.  Otherwise, you move to S.
A board square on row 'i' and column 'j' has a "Snake or Ladder" if board[i][j] != -1. The destination of that snake or ladder is board[i][j].
Note :
You can only take a snake or ladder at most once per move: if the destination to a snake or ladder is the start of another snake or ladder, you do not continue moving - you have to ignore the snake or ladder present on that square.

For example, if the board is:
-1 1 -1
-1 -1 9
-1 4 -1
Let's say on the first move your destination square is 2  [at row 2, column 1], then you finish your first move at 4 [at row 1, column 2] because you do not continue moving to 9 [at row 0, column 0] by taking the ladder from 4.

A square can also have a Snake or Ladder which will end at the same cell.
For example, if the board is:
-1 3 -1
-1 5 -1
-1 -1 9
Here we can see Snake/Ladder on square 5 [at row 1, column 1] will end on the same square 5.
Try solving now
04
Round
Hard
Video Call
Duration90 Minutes
Interview date20 Aug 2022
Coding problem2

1 DS problem and 1 system design question

1. Zig-Zag of Matrix

Hard
40m average time
60% success
0/120
Asked in companies
MicrosoftGoldman SachsVMware Inc

You are given a matrix ‘mat’ of ‘N’ rows and ‘M’ columns. Your task is to return the Zig-Zag order of the matrix.

The Zig-Zag order of a 5 x 5 matrix is given below

zigZag

For example:
You are a given the matrix -: 
    ‘mat’ = [[1, 2, 3], 
            [4, 5, 6], 
            [7, 8, 9]]
Here the Zig-Zag order of the given matrix is [1, 2, 4, 7, 5, 3, 6, 8, 9]. Hence the answer is [1, 2, 4, 7, 5, 3, 6, 8, 9].
Try solving now

2. System Design Question

Design the API and interfaces for Download Manager of any browser.

05
Round
Easy
HR Round
Duration60 Minutes
Interview date20 Aug 2022
Coding problem1

Director level Round: Was asked to add 2 numbers represented using linkedlist

1. Add Two Numbers As Linked Lists

Moderate
20m average time
80% success
0/80
Asked in companies
SprinklrIBMDeutsche Bank

You are given two non-negative numbers 'num1' and 'num2' represented in the form of linked lists.


The digits in the linked lists are stored in reverse order, i.e. starting from least significant digit (LSD) to the most significant digit (MSD), and each of their nodes contains a single digit.


Calculate the sum of the two numbers and return the head of the sum list.


Example :
Input:
'num1' : 1 -> 2 -> 3 -> NULL
'num2' : 4 -> 5 -> 6 -> NULL

Output: 5 -> 7 -> 9 -> NULL

Explanation: 'num1' represents the number 321 and 'num2' represents 654. Their sum is 975.


Try solving now

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

How do you remove whitespace from the start of a string?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
5 rounds | 15 problems
Interviewed by Microsoft
4035 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by Microsoft
1640 views
0 comments
0 upvotes
company logo
SDE - 1
1 rounds | 2 problems
Interviewed by Microsoft
7425 views
0 comments
0 upvotes
company logo
SDE - 1
4 rounds | 7 problems
Interviewed by Microsoft
1272 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
115097 views
24 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
35147 views
7 comments
0 upvotes
company logo
SDE - 1
3 rounds | 11 problems
Interviewed by Amazon
21829 views
4 comments
0 upvotes