Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I was interviewed in Nov 2020.
Round duration - 90 minutes
Round difficulty - Medium
It started in the evening from around 6 pm and the total duration was 90 minutes. There were 3 coding questions of medium difficulty level. I think from a set of 10-12 questions, each student was given 3 questions randomly from that set. So it was somewhat luck dependent too if you get easy or difficult questions. Tab switching was not allowed during the test, also it was proctored through webcam.
Given a string A
consisting of lowercase English letters, determine the length of the longest palindromic subsequence within A
.
You are given an encrypted string where repeated substrings are represented by the substring followed by its count. Your task is to find the K'th character of the d...
Given an array arr
of length N
consisting of integers, find the sum of the subarray (including empty subarray) with the maximum sum among all subarrays.
Round duration - 50 minutes
Round difficulty - Medium
It was held on the Microsoft teams platform. It started at 5 pm in the evening and lasted till around 5:50 pm. It started with me giving a general introduction about what I had done till now in my college. After that, he started with the coding problems.
Determine the total area covered by two given rectangles on a 2-D coordinate plane, which may have an overlapping area.
The first line conta...
Round duration - 50 minutes
Round difficulty - Easy
The pattern was similar to the previous round. I started with my general introduction after which he proceeded to problem-solving. Also, there was some discussion about the projects I had done previously and also about my previous internship experience.
Given an array Arr
consisting of N
integers, find all distinct triplets in the array that sum up to zero.
An array is said to have a triplet {Arr[i], Arr[j],...
Tip 1 : Focus on basic concepts while studying algorithms and data structures. On the other hand, there is some amount of mugging required in other topics like operating systems and OOPS.
Tip 2 : Your resume should be catchy and impressive. The recruiters will not be looking at your resume for more than 30-40 seconds, so try to mention some numbers (ranks in some coding events, GPA) which can impress the recruiters.
Tip 3 : For the last few days before your interviews, it is advised to read some previous interview experiences of the company for which you are about the give the interview.
Tip 1 : Try to mention some numbers on your resume like ranks in various coding events, or engineering entrance exams because this makes it somewhat catchy.
Tip 2 : Try to know everything you've written on your resume. So, don't try to put false things as it can go against you in the interview.
I was interviewed in Oct 2020.
Round duration - 90 Minutes
Round difficulty - Medium
Conducted on https://tests.mettl.com/ and contains 3 coding questions with different difficulty levels – Basic, Easy, and Medium and carrying marks accordingly.
Those who had solved at least 2 questions were selected for the next round. I was able to solve all of them and around 90 students were selected for the next round.
Your task is to compute the division of two integers, X / Y, and output the result formatted to contain exactly N decimal places.
The first line contains an integer ‘...
Compute the division of two integers and output the result formatted to contain exactly N decimal places.
Read the input values for X, Y, and N
Perform the division X / Y
Format the result to contain exactly N decimal places
Output the result as a string with N decimal places
You are provided with a string STR
of length N
. The goal is to identify the longest palindromic substring within this string. In cases where multiple palind...
Given a string, find the longest palindromic substring, prioritizing the one with the smallest start index.
Iterate through the string and expand around each character to find palindromes
Keep track of the longest palindrome found and its starting index
Return the longest palindromic substring with the smallest start index
Given two strings S
and X
containing random characters, the task is to find the smallest substring in S
which contains all the characters present in X
.
The first...
Find the smallest substring in a given string that contains all characters from another given string.
Use a sliding window approach to find the smallest window in S that contains all characters in X.
Maintain a frequency map for characters in X and a window map for characters in the current window.
Slide the window to the right, updating the window map and shrinking the window from the left if all characters in X are pres...
Round duration - 60 Minutes
Round difficulty - Medium
It was a pen and paper-based round. 2 questions were given, and we have to solve them efficiently and specify our approach clearly.
Those who had solved both the problems efficiently and able to explain their ideas clearly were shortlisted for further rounds. 24 students selected for the interviews.
Given a binary tree where each node has at most two children, your task is to connect all adjacent nodes at the same level. You should populate each node's 'next' pointer t...
Connect adjacent nodes at the same level in a binary tree by populating each node's 'next' pointer.
Traverse the tree level by level using a queue.
For each level, connect nodes from left to right using their 'next' pointers.
Set the 'next' pointer of the rightmost node in each level to NULL.
Example: For the given binary tree, connect nodes 2->3, 4->5, 5->6, and set 1, 3, 6 'next' pointers to NULL.
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Given two arrays:
AT
- represent...Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Use two pointers to iterate through the arrays and keep track of the number of platforms needed.
Increment the number of platforms needed when a train arrives and decrement when a train departs.
Return the maximum number of platforms needed at any point.
Tip 1 : Practice at least 300 coding questions.
Tip 2 : Be confident during the interview and never hesitate to ask if you are stuck. They will definitely help you out.
Tip 1 : Mention some good projects on your resume.
Tip 2 : Don't put false things on your resume.
I was interviewed in Oct 2020.
Round duration - 70 minutes
Round difficulty - Medium
This was an MCQ and coding round. For MCQs this was the distribution : -
Apptitude ( 10 questions)
Maths (10 questions)
Coding Fundamentals (10 questions)
Round duration - 60 minutes
Round difficulty - Hard
This was also an MCQ and coding test. 30 MCQs were asked
Given a binary tree with N
nodes, determine whether the tree is a Binary Search Tree (BST). If it is a BST, return true
; otherwise, return false
.
A binary search tree (BST)...
Validate if a binary tree is a Binary Search Tree (BST) or not.
Check if the left subtree of a node contains only nodes with data less than the node's data.
Check if the right subtree of a node contains only nodes with data greater than the node's data.
Ensure that both the left and right subtrees are also binary search trees.
Traverse the tree in an inorder manner and check if the elements are in sorted order.
Use recursio...
Tip 1 : Have more number of good projects than having many certifications
Tip 2 : Practice more types of questions on coding
Tip 3 : Prepare by writing more mock tests
Tip 1 : Make it short and effective
Tip 2 : Highlight your achievements
What people are saying about Microsoft Corporation
I was interviewed in Jan 2021.
Round duration - 60 Minutes
Round difficulty - Easy
It was an online technical interview focusing on DS and algorithms. They asked two questions in this round. He also asked me to code both the questions. I solved both questions with confidence.
They also gave a puzzle to solve. Out of 32 they selected 22 students along with me.
You are given a N x M
matrix of integers. Your task is to return the spiral path of the matrix elements.
The first line contains an integer 'T' which denotes the nu...
Tip 1 : Focus on your data structure and algorithms part, these plays a crucial role in clearing the test.
Tip 2 : Don't lie on your resume.
Tip 3 : Mention one or two good projects on your resume.
Tip 1 : Have some good projects on resume and know everything about your projects.
Tip 2 : Write only what you know. Don't lie anything on resume as they will find out.
Microsoft Corporation interview questions for designations
I was interviewed before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
The round consists of 3 coding questions and the test was conducted on mettl platform. There was no sectional time limit for the coding questions. Every student got randomly 3 coding questions and none of the students got the same set of questions. The test was online with audio and video both on for continuous monitoring.
You are given an array 'ARR' consisting of 'N' integers. Your task is to calculate the three statistical measures for the given array:
mean...
Determine the Nth term of a geometric progression (GP) series given the first term, common ratio, and the term number.
The general form of a GP...
You are provided with D
dice, each having F
faces numbered 1 to F
, inclusive. Your task is to determine the number of possible ways to roll the dice such that the sum of the f...
Round duration - 50 minutes
Round difficulty - Medium
This round was based on data structures and some discussion regarding the projects. The interviewer was very calm and listened very carefully to the solutions. There was a lot of discussion on my projects and the interviewer seems to be very interested in knowing about the workflows of my projects.
Given two binary trees with 'N' and 'M' nodes respectively, determine if the two trees are identical. Return true
if they are identical, otherwise return false
.
...
Given a string S
of length N
that may contain duplicate alphabets, your task is to compute the count of distinct subsequences of this string.
S = "deed...
Round duration - 50 minutes
Round difficulty - Medium
This round was also based on data structures and the interviewer was not responding as much as in the first round so that I should think on my own that whether I am on right track or not. In this round also there was a deep discussion on one of my web development with machine learning project. So don't panic in these situations If the interviewer is not responding much because he is noting down every tiny detail of your written code.
This problem requires you to delete the Kth node from the end of a given singly linked list with N nodes containing integer data.
You are asked to efficiently remo...
Round duration - 30 minutes
Round difficulty - Medium
This was an HR/Coding round and was the final one. The coding question was to find the nth node from the end of the linked list which is similar to the one asked in the previous round. The interview started with 2-3 HR questions and after I answered all of them, there was a serious discussion on my projects like why did you chose this project, what are its advantages, was it able to solve the existing problem. I answered all the project related queries very calmly and he was satisfied.
Tip 1 : I would suggest practicing as many questions on data structures and algorithms as you can because it is the question practice that would help you in building your concepts strong. I practiced a lot of questions on InterviewBit and completed all modules of data structures and algorithms because there you can find the recent interview questions that you should know.
Tip 2 : If you have time for your interviews, I would recommend going through Leetcode as it has a good variety of questions sorted on topic wise difficulty level where you can try to solve at least 20-30 questions for each data structure and algorithm. Moreover, you should regularly participate in the weekly contests happening there so that you could know about your weak areas to improve.
Tip 3 : Along with coding you should be clear about some basic concepts of Operating systems and Databases that would help in your interviews. One more thing is that do some good research about the company's goal and vision and be prepared to ask some company-related queries that show your interest in the company.
Tip 1 : Your Resume should consist of mainly skills, projects, and achievements. Projects would play a crucial part in your interview and you should have at least one most relevant and good project that shows how strong your concepts are in development.
Tip 2 : The most important tip is that never lie on your resume and like If you have worked upon some technology for the project part only and don't know the proper depth you could write basics only in your resume.
Get interview-ready with Top Microsoft Corporation Interview Questions
I was interviewed before May 2021.
Round duration - 60 minutes
Round difficulty - Medium
This was the first round. The interviewer discussed two coding problems with me.
You are given a binary tree of distinct integers, along with two nodes, ‘X’ and ‘Y’. Your task is to determine the Lowest Common Ancestor (LCA) of ‘X’ and ‘Y’.
The LC...
Find the Lowest Common Ancestor of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other.
Consider using recursion to solve the problem efficiently.
Given two sorted arrays A
and B
of sizes N
and M
, find the median of the merged array formed by combining arrays A
and B
. If the total number of elements, N + M
, is even, the m...
Find the median of two sorted arrays by merging them and calculating the middle element(s).
Merge the two sorted arrays into one sorted array.
Calculate the median based on the total number of elements in the merged array.
If the total number of elements is even, take the mean of the two middle elements as the median.
Round duration - 45 minutes
Round difficulty - Easy
This was the second round. We started with a brief introduction. The interviewer then asked one coding problem and we had a long discussion on that problem only.
After years of research, Ninja has invented a time machine and found himself in the era where T9 keypads were commonly used in mobile phones. Being curious, Ninja seeks ...
Given a string of digits from 2 to 9, determine all possible strings that can be generated using T9 keypad letter mappings.
Create a mapping of digits to corresponding letters on a T9 keypad
Use recursion to generate all possible combinations of letters for the input string
Sort the generated strings lexicographically
Return the array of generated strings
Round duration - 40 minutes
Round difficulty - Easy
This was a typical managerial round. We started with a brief introduction. Then, the interviewer moved to my projects and started asking questions on one of the projects that he found interesting. At last, he asked me some questions based on Operating Systems.
Tip 1 : Practice DSA questions regularly from coding platforms.
Tip 2 : Have a clear understanding of the OS, DBMS and OOPS concepts.
Tip 3 : Be proficient in one programming language.
Tip 1 : Resume should be of 1-page only.
Tip 2 : Focus more on sections like Work Experience, Projects etc.
I was interviewed before Dec 2020.
Round duration - 90 minutes
Round difficulty - Easy
The test was held on Mettl Platform in online mode from 10:00-10:15 AM joining time for 90 minutes.
Convert a given infix expression, represented as a string EXP
, into its equivalent postfix expression.
An infix expression is formatted as a op b
where the opera...
Convert infix expression to postfix expression.
Use a stack to keep track of operators and operands.
Follow the rules of precedence for operators.
Handle parentheses to ensure correct order of operations.
You are given two strings 'A' and 'B' composed of words separated by spaces. Your task is to determine the most frequent and lexicographically smallest word in string ...
Find the most frequent and lexicographically smallest word in string 'A' that is not present in string 'B'.
Split strings 'A' and 'B' into words
Count frequency of each word in 'A'
Check if word is not in 'B' and is the most frequent and lexicographically smallest
Return the word or -1 if no such word exists
Given a string str
and a string pat
, where str
may contain wildcard characters '?' and '*'.
If a character is '?', it can be replaced with any single character....
Given a string with wildcard characters, determine if it can be transformed to match another string.
Iterate through both strings simultaneously, handling wildcard characters '?' and '*' accordingly.
Use dynamic programming to keep track of matching characters.
Handle cases where '*' can match an empty sequence or multiple characters.
Return true if at the end both strings match, false otherwise.
Tip 1 : Try to give the weekly and biweekly contests on LeetCode before atleast 2-3 months from the start of interviews as these questions are mainly based on Data Structures, most of these are directly asked in interviews. These will also help in accelerate your speed of writing codes and it will help during interviews as we are often asked to write codes or pseudocodes most of the times. I followed this approach and got a lot of benefit.
You can check my LeetCode Profile here: https://leetcode.com/vsam09_iitg/
Tip 2 : Try to complete the Interview Bit or LeetCode (prefer only one as both have similar type of questions) before the start of interviews and start solving it from 3 months before as it will took time to complete it. If you get stuck in some question, don't try to directly see the solutions. First try to see the hints mentioned there. Then try to read the discussion forum and try to code it yourself. This approach will help you as sometimes same questions are being asked in the interviews and if we haven't coded it yourself then sometimes it creates trouble in the important interviews.
Tip 3 : Try to maintain 2-3 good projects in which you can speak for about 10-15 minutes. Try to have a complete or necessary background information about the technical details of the project. For example in Web Development projects, try to have necessary information on Database Management.
Tip 4 : Do give mock interviews on interview bit/ proxy before the interviews as it will help you in kept calm and confident during the interviews and help you to better explain the interviewer your explanations regarding your solutions.
Tip 1 : Try to showcase only important information in each section. For example in Projects section, try to list the purpose of the project, how it is beneficial for others, technologies it uses etc.
Tip 2 : Try to make the resume as precise and short as possible since most of the interviewers prefers short and clear resumes as it makes easier for them to ask different questions.
Tip 3 : Try to highlight the important points in which you are proficient or if it is a big achievement in bold as it directs the attention of the interviewer towards those points more and is often likely to ask about those points.
Tip 4 : Try to have some good achievements regarding coding events and hackathons like good rank in Google KickStart, good LeetCode Rating etc as it will help you to showcase yourself to interviewer in your coding skills and different areas.
I was interviewed before Oct 2020.
Round duration - 60 minutes
Round difficulty - Medium
Timing-> EVENING(5 TO 6)
The interviewer was very sweet and calm.
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the ...
Detect if a singly linked list forms a cycle by checking if a node's next pointer points back to a previous node.
Use Floyd's Cycle Detection Algorithm to determine if there is a cycle in the linked list.
Maintain two pointers, one moving at twice the speed of the other.
If the two pointers meet at any point, there is a cycle in the linked list.
Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.
The first line ...
Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.
Traverse the left boundary nodes in a top-down manner
Traverse the leaf nodes in a left-right manner
Traverse the right boundary nodes in a bottom-up manner
Avoid duplicates in boundary nodes
Tip 1 : Your basics should be clear.
Tip 2 : Practice At least 200+ Questions
Tip 1 : Have some projects on resume.
Tip 2 : Do not put false things on resume
I was interviewed before Sep 2020.
Round duration - 60 minutes
Round difficulty - Medium
It was a video call round, that began with a brief introduction of the interviewer followed by mine. Then the interviewer asked me to solve 2 data structure questions in a text editor while sharing my screen. Also, we had a brief discussion of the time complexity of the programs I had written, which I had to optimize to the best time complexity as well.
You are given a N x M
matrix of integers. Your task is to return the spiral path of the matrix elements.
The first line contains an integer 'T' which denotes the nu...
Given an integer array arr
of size 'N' containing only 0s, 1s, and 2s, write an algorithm to sort the array.
The first line contains an integer 'T' representing the n...
Round duration - 60 minutes
Round difficulty - Easy
It was a face-to-face round in the Hyderabad Office at 8 in the morning. This round consisted of various types of questions. It began with a brief description of my interest in technology and a discussion about any major problems I faced working and how I resolved it. Then it continued with various data structure questions, followed by operating system, database, and system design questions. I had majorly worked with the project Jarvis Personal Assistant, so I was asked to design the complete workflow of the project.
Given a string S
containing only uppercase English characters, determine if S
is identical to its reflection in the mirror.
S = "AMAMA"
YES
Tip 1 : I would recommend to practice at least 2-3 competitive coding questions daily, to always have hands-on Competitive coding and be prepared for it. Also, you can create a group among your friends and solve together, this will help to maintain the enthusiasm and competitive nature to grow daily in long run.
Tip 2 : I will surely advise to develop and work on some good projects, that really help in understanding the development basics as well as help in maintaining a good resume. Having a good open-source contribution also helps in providing an edge over other students.
Tip 3 : Spare some time in taking up some mock-interviews in websites such as InterviewBit, this helps to rectify the mistakes and build a good experience of the interview. Also, try to interview with as many companies as possible, this will strengthen interview and presentation skills.
Tip 1 : Don't try to fake anything in the resume as this might lead to a very bad impression in the later rounds, also may lead to disqualification from further openings in the company.
Tip 2 : In this era, try developing and showcasing more projects in the resume instead of online course certificates. Recruiters are looking for actual skill and knowledge which is actually depicted from the projects and this will also lead to keeping a higher stand from other students.
I was interviewed before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
This round was of 90 minutes, consisting of 3 coding questions from easy to medium level. It was conducted in the morning hours. The invigilators were the staff of my college only. The platform was very smooth and almost all the programming languages were allowed.
Given a string 'STR' consisting solely of the characters “{”, “}”, “(”, “)”, “[” and “]”, determine if the parentheses are balanced.
The first line contains an...
You are given a long type array/list ARR
of size N
, representing an elevation map. The value ARR[i]
denotes the elevation of the ith
bar. Your task is to determine th...
Given a list of cities numbered from 0 to N-1 and a matrix DISTANCE
consisting of 'N' rows and 'N' columns, representing the distances between each pair of cities, find the sho...
Round duration - 60 minutes
Round difficulty - Easy
This round was a group fly round. Team from Microsoft came for invigilation and guidance. We were divided into small groups, and a mentor was allotted to us. There were 2 questions and time was 60 minutes. First question was based on system design and second one was coding question. We were asked to write on paper and discuss with mentors. We were marked on the basis of how we discussed our ideas with our mentor and how clearly we presented our idea.
Ninja receives a PS5 from Santa, locked in a safe with a password. The password is the length of the longest palindromic subsequence in the given string S...
Round duration - 30 minutes
Round difficulty - Medium
The interview was early in the morning. The environment was very tensed, we all were very nervous for the first round of interview. The interviewers were very friendly, they were helping us a lot .
Given the root node of a binary search tree and a positive integer, you need to insert a new node with the given value into the BST so that the resulting tree maintains the pr...
Round duration - 30 minutes
Round difficulty - Easy
This round was conducted in the afternoon. The environment was friendly. Interviewer was very friendly and helping.
You are given a stack S
. Your task is to sort the stack recursively in descending order.
Round duration - 30 minutes
Round difficulty - Medium
I was conducted in the evening. The interviewer was very friendly and asked me questions mostly about me and my future plans.
Tip 1 : Keep the resources limited for your preparation
Tip 2 : Practice coding on a regular basis
Tip 3 : Focus on problem solving skills
Tip 4 : Make your resume very clean and should have full confidence on everything mentioned in the resume
Tip 1 : Make your resume systematic and clean, preferably it should be of 1 page only
Tip 2 : Never put false things on resume
Tip 3 : Having projects in your resume will be plus point
based on 7 interviews
3 Interview rounds
based on 18 reviews
Rating in categories
Software Engineer
1.9k
salaries
| ₹13 L/yr - ₹50 L/yr |
Senior Software Engineer
1.1k
salaries
| ₹25 L/yr - ₹85 L/yr |
Software Engineer2
1k
salaries
| ₹20 L/yr - ₹72 L/yr |
Consultant
599
salaries
| ₹13 L/yr - ₹36.7 L/yr |
Support Engineer
578
salaries
| ₹7.7 L/yr - ₹30 L/yr |
Amazon
Deloitte
TCS