'Coding has over 700 languages', '67% of programming jobs aren’t in the technology industry', 'Coding is behind almost everything that is powered by electricity'
Microsoft interview experience Real time questions & tips from candidates to crack your interview
SDE - 1
Microsoft
upvote
share-icon
5 rounds | 15 Coding problems
Interview preparation journey
expand-icon
Preparation
Tip
Tip
  1. The interviewers were very friendly and knowledgeable and try to understand your solution, rather impose theirs on you, unlike certain companies.
  2. The NUMBER ONE thing interviewers were looking for was CONFIDENCE. Almost everyone shortlisted had superb knowledge of computer science, but if he/she could not speak confidently, or stayed quiet during the interviews, they were rejected on the spot! Even people who had the highest score after group fly and had completed the HR round first were rejected due to this.
  3. It’s okay to make mistakes during the interviews, they’re there to correct and help you, but its more important to keep talking and let the interviewer know what is going on in your head the whole time.
  4. Keep talking about your thought process and telling the interviewer what is going on in your head. Don’t sit idle.
  5. Always inform them of any assumptions and your language preferences you make before coding and then proceed. Always try to include Corner Cases.They are very important.
  6. Yeah and one thing, except the online coding round, ALWAYS write comments while coding. I repeat, always write comments for anything you do. It matters a lot, especially for the group fly round.
  7. Prepare 2-3 questions for the interviewer for each round. Its better if its related to the company, JD and shows your interest in them.
  8. You should know each and everything written on your resume. You can be asked to elaborate on anything in detail. Don’t write anything you can’t speak for ~5 minutes.
  9. Important subjects include DSA, DBMS, OOPS, OS, TOC and to some extent Networks. Disciplinary Electives  are very important too.
  10. *Vital Info – Co-Cubes displays only 3 test cases and rest are all hidden. So try to make your code as efficient and optimal as you can, including all the corner cases.
  11. Try practicing coding on a computer as well as on paper. You’ll understand the nuances of the code better.
  12. Internships! Try getting a summer internship. The work that you’ll do there will be an important talking point in your resume. If you get a PPO, then chill, else experience is still very valuable. Resume is very important and please spend more time on writing it properly.
Application process
Where: Campus
Eligibility:
Resume Tip
Resume tip
Interview rounds
01
Round
Easy
Online Coding Test
Duration75 minutes
Interview date7 Sep 2019
Coding problem3

This was the coding round which consisted of three coding questions and time limit was of 75 minutes.The platform used was Co-Cubes. 3 questions were asked of 2, 3 and 5 marks respectively with varying difficulty.

1. Round the given number to nearest multiple of 10.
Easy
20m average time
80% success
0/40
Asked in companies
MicrosoftAckoIBM

Given a positive integer n, round it to nearest whole number having zero as last digit.

Examples:

Input : 4722

Output : 4720

Input : 38

Output : 40

Input : 10

Output: 10

Problem approach

This was very basic question which involved some rounding up mathematics and I solved this question within 10 minutes using some school maths and logic.

Try solving now
2. Find day of the week for a given date.

Write a function that calculates the day of the week for any particular date in the past or future. A typical application is to calculate the day of the week on which someone was born or some other special event occurred.

Problem approach

This question was already done by earlier so just thought of already built logic and wrote the code, initially few test cases were not passing then I made some changes and all test cases passed.

3. Delete N nodes after M nodes of a linked list

Given a linked list and two integers M and N. Traverse the linked list such that you retain M nodes then delete next N nodes, continue the same till end of the linked list.

 

Difficulty Level: Rookie

 

Examples:

 

Input:

M = 2, N = 2

Linked List: 1->2->3->4->5->6->7->8

Output:

Linked List: 1->2-&g...

View more
Problem approach

This was standard linked list question and I solved it using linked list traversal by changing the pointers only and deleting according to given condition.

02
Round
Easy
Coding Test - Pen and paper
Duration
Interview date7 Sep 2019
Coding problem2

This was a written round and we were expected to write fully functional code, without any bugs and errors. Library functions used, if any, had to be explained and if possible, code for that too (not that rigorous). Pseudo code and algorithms were also allowed.  All the assumptions made had to be explained as well.

1. Look-and-Say Sequence

Find the n’th term in Look-and-say (Or Count and Say) Sequence. The look-and-say sequence is the sequence of below integers:

1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, …

 

n’th term in generated by reading (n-1)’th term.

 

The first term is "1"

 

Second term is "11", generated by reading first term as "One 1"  

(The...

View more
Problem approach

I simply checked the sequence and understood the pattern and got it within 10 minutes. I simply use a brute force approach and kind of hashing to count occurrence and explained this properly on paper.

2. Arrange given numbers to form the biggest number

Given an array of numbers, arrange them in a way that yields the largest value. For example, if the given numbers are {54, 546, 548, 60}, the arrangement 6054854654 gives the largest value. And if the given numbers are {1, 34, 3, 98, 9, 76, 45, 4}, then the arrangement 998764543431 gives the largest value.

Problem approach

 I used sorting with self made comparator and wrote a properly commented code.

03
Round
Easy
Face to Face
Duration
Interview date7 Sep 2019
Coding problem3

The interviewer was very friendly and started asking me questions by making me comfortable.

1. Simplify the directory path (Unix like)

Given an absolute path for a file (Unix-style), simplify it. Note that absolute path always begin with ‘/’ ( root directory ), a dot in path represent current directory and double dot represents parent directory.

 

Examples:

 

"/a/./"   --> means stay at the current directory 'a'

"/a/b/.." --> means jump to the parent directory

  &nb...

View more
Problem approach

I gave him a stack-based approach and he was satisfied with that approach.

2. Evaluate the Polynomial

Given a polynomial expression, simplify it as efficiently as possible, and sort it in decreasing powers of the variable.

e.g -5x^12 + 6x^10 + 4x^5 + 6x^5 + 3x^3 + 2x^3 + 9 would result to 5x^12 + 6x^10 + 10x^5 + 5x^3 + 9.

 

Problem approach

I provided him with 3 approaches, one with trees, one with max heap and finally one with Linked lists, considering all the corner cases and continuously optimizing the code with respect to time and space complexity. He seemed happy with my approach.

3. Producer-Consumer problem
Problem approach

I explained to him the problem with pseudo code.

04
Round
Easy
Face to Face
Duration
Interview date7 Sep 2019
Coding problem4

This round was focused on resume and projects.

1.

Tell me about all your projects.

Problem approach

Gave him a brief introduction of my projects with tech stack information.

2.

Structures of your projects.

Problem approach

Drawn a neat diagram for that and explained him the structure of the project.

3.

Tell me about your summer intern project.

Problem approach

Gave him all description of the work and challenges that I faced during the internship.

4.

Linear regression.

Problem approach

Explained him very well with a real-life example of a dataset of flats and houses.

05
Round
Easy
HR Round
Duration
Interview date7 Sep 2019
Coding problem3

This round was basically a mix of HR and creative design round. The interviewer wanted to check whether the candidate can think out-of-the box with regard to any given problem and come up with unique, optimized solutions.

1. What is DBMS and explain ACID.
Problem approach

 I gave him definition of DBMS which I remembered at that time and explained him ACID properties through the example of ATM transaction.

2.

2 tier and 3 tier architecture of DBMS.

Problem approach

Drawn diagram of both architecture and explained the working of each tier in both architectures.

3.

Schema independence in DBMS.

Problem approach

Explained this with context to 3 tier architecture of DBMS.

Start a Discussion
Similar interview experiences
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Microsoft
4944 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by Microsoft
499 views
0 comments
0 upvotes
company logo
SDE - 1
4 rounds | 7 problems
Interviewed by Microsoft
498 views
0 comments
0 upvotes
company logo
SDE - 1
1 rounds | 2 problems
Interviewed by Microsoft
3852 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
93163 views
24 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
27170 views
6 comments
0 upvotes
company logo
SDE - 1
3 rounds | 11 problems
Interviewed by Amazon
19136 views
3 comments
0 upvotes