'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'

Problem of the day

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

SDE - 1

Microsoft

5 rounds | 15 Coding
problems

Interview preparation journey

Preparation

Tip

- The interviewers were very friendly and knowledgeable and try to understand your solution, rather impose theirs on you, unlike certain companies.
- The
thing interviewers were looking for was**NUMBER ONE**. 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.**CONFIDENCE** - 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.
- Keep talking about your thought process and telling the interviewer what is going on in your head. Don’t sit idle.
- Always inform them of any assumptions and your language preferences you make before coding and then proceed.
**Always try to include Corner Cases**. - 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. - 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.
- 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.
- Important subjects include DSA, DBMS, OOPS, OS, TOC and to some extent Networks. Disciplinary Electives are very important too.
- *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.
- Try practicing coding on a computer as well as on
**paper**. You’ll understand the nuances of the code better. **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

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.

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.

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

SDE - 1

4 rounds | 8 problems

Interviewed by Microsoft

4944 views

5 comments

0 upvotes

SDE - 1

3 rounds | 5 problems

Interviewed by Microsoft

499 views

0 comments

0 upvotes

SDE - 1

4 rounds | 7 problems

Interviewed by Microsoft

498 views

0 comments

0 upvotes

SDE - 1

1 rounds | 2 problems

Interviewed by Microsoft

3852 views

0 comments

0 upvotes

Companies with similar interview experiences

SDE - 1

5 rounds | 12 problems

Interviewed by Amazon

93163 views

24 comments

0 upvotes

SDE - 1

3 rounds | 7 problems

Interviewed by Amazon

27170 views

6 comments

0 upvotes

SDE - 1

3 rounds | 11 problems

Interviewed by Amazon

19136 views

3 comments

0 upvotes