Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
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 - 45 minutes
Round difficulty - Easy
It was in the late afternoon. I was vey nervous, but the interviewer was very friendly. I managed to solve the questions early, so we discussed general things about the company and its culture.
Given some information about rooms in a military camp, where rooms are numbered from 0 to 'N-1'. Each room may contain keys to some other rooms. You can only visit a room ...
Determine if all rooms can be visited starting from room 0 with given keys information.
Use depth-first search (DFS) to traverse through rooms and keys.
Keep track of visited rooms to avoid infinite loops.
Check if all rooms have been visited at the end.
You are provided with a singly linked list that may contain a cycle. Your task is to return the node where the cycle begins, if such a cycle exist...
To detect the first node of the loop in a singly linked list, we can use Floyd's Cycle Detection Algorithm.
Use Floyd's Cycle Detection Algorithm to find the meeting point of the slow and fast pointers in the linked list.
Reset one of the pointers to the head of the linked list and move both pointers at the same speed until they meet at the start of the cycle.
The node where the pointers meet is the first node of the loop
Round duration - 30 minutes
Round difficulty - Medium
The duration of the round was 30 minutes. It was conducted in the morning hours. The interviewer asked me many questions regarding my internship experience and my project. Later we discussed some problem solving.
Round duration - 75 minutes
Round difficulty - Hard
This round was conducted early in the morning. The interviewer was highly experienced and very friendly. He discussed about his life journey and his experience with the company.
Overall the experience was good, getting interviewed by such experienced person
You are given a binary tree consisting of 'N' unique nodes and a start node where the burning will commence. The task is to calculate the time in minutes required to completely b...
Calculate the time in minutes required to completely burn a binary tree starting from a given node.
Traverse the tree to find the longest path from the start node to a leaf node.
The time to burn the entire tree is equal to the length of the longest path.
Simulate the burning process by incrementing the time for each level of the tree.
Tip 1 : Regularly practice atleast 10 questions on various topics
Tip 2 : Participate in coding competitions to experience time bound coding
Tip 3 : Give mock interviews for better results
Tip 1 : Mention the projects clearly, explaining the tech stack, the problem solved and whether its a group or individual project
Tip 2 : Do not put false things on resume.
Tip 3 : Mention only those skills, in which you are confident.
I was interviewed before Sep 2020.
Round duration - 1 hour
Round difficulty - Medium
You are provided with an integer array ARR
of length 'N'. Your objective is to determine the first missing positive integer using linear time and constant space. T...
Find the smallest positive integer missing from an array of integers.
Iterate through the array and mark positive integers as visited by changing the sign of the corresponding index.
After marking all positive integers, iterate again to find the first positive integer with a positive value.
Return the index of the first positive integer found plus one as the answer.
Tip 1 : During an interview, never say that you don't know the answer, keep trying and the interviewer will help you himself.
Tip 2 : Keep speaking up the approach going on in your mind, they want to judge your approaches much more than whether the answer is right or wrong.
Tip 3 : Be confident, cheerful, keep smiling, and continue making eye contact with the interviewer, this leaves a positive impression.
Tip 4 : Search and practice questions specific to the company, questions are repeated several times.
Tip 5 : A sound knowledge of Microsoft Azure Services and cloud computing will be an icing on the cake, and increase your chances to get selected.
Tip 6 : Keep giving contests on coding platforms, it will help you to stay motivated and check your stand.
Tip 7 : Keep a daily goal of number of questions instead of the time duration.
Tip 1 : Everything mentioned on the resume should be thoroughly known to you since if they catch you being dishonest, pretty good coding skills also might not help.
Tip 2 : Have projects related to the same field you are trying to apply for mentioned in your resume, this shows you are already experienced in the field.
Tip 3 : Adding references of some experienced people of the same field might help you gain their trust.
Tip 4 : Do not keep your resume too long, and do not mention irrelevant details, keep it short and crisp.
Tip 5 : Some experience in the field of operations and management or some positions of responsibility will really help you score extra points since it shows you have leadership qualities and are familiar with the market along with super coding skills.
What people are saying about Microsoft Corporation
I was interviewed before May 2021.
Round duration - 60 Minutes
Round difficulty - Medium
Given a string ‘S’, your task is to rearrange its characters so that no two adjacent characters are the same. If it's possible, return any such arrangement, otherwise re...
Given a string, rearrange its characters so that no two adjacent characters are the same.
Iterate through the string and count the frequency of each character.
Use a priority queue to rearrange the characters based on their frequency.
Check if it's possible to rearrange the string without any two adjacent characters being the same.
Return 'Yes' if possible, 'No' otherwise.
Your task is to find all nodes that are exactly a distance K from a given node in an arbitrary binary tree. The distance is defined as the number of edges between ...
Find all nodes at distance K from a given node in a binary tree.
Perform a depth-first search starting from the target node to find nodes at distance K.
Use a recursive function to traverse the tree and keep track of the distance from the target node.
Maintain a set to store visited nodes to avoid revisiting them.
Return the list of nodes found at distance K from the target node.
Example: If the target node is 5 and K is 2 ...
Round duration - 60 Minutes
Round difficulty - Medium
Given N
events, each represented with a start
and end
time as intervals, i.e., booking on the half-open interval [start, end). Initially, the calendar is empty. A new event c...
Given N events with start and end times, determine if each event can be added to the calendar without causing a triple booking.
Iterate through each event and check if adding it causes a triple booking by comparing its interval with previous events
Use a data structure like a list or dictionary to keep track of booked intervals
Return 'True' if the event can be added without causing a triple booking, 'False' otherwise
Round duration - 45 minutes
Round difficulty - Easy
Tip 1 : Focus on fundamentals
Tip 2 : Focus on problem solving skills
Tip 3 : Be consistent
Tip 1 : Do not bloat your resume with non-sense, add only what you have done and only major projects.
Tip 2 : Be crisp - adding 10 programming languages in your resume won't take you anywhere but understanding 1 language with heart is definitely a major plus.
Microsoft Corporation interview questions for popular designations
I applied via Referral and was interviewed in Nov 2020. There was 1 interview round.
Get Excel column address based on number given.
Divide the number by 26 and get the remainder and quotient.
Convert the remainder to a character and add it to the result string.
Repeat until quotient is zero.
Find if a given string exists in a given matrix of characters
Iterate through each character in the matrix and check if it matches the first character of the given string. If it does, perform a depth-first search to check if the rest of the string can be formed from adjacent characters in the matrix.
Use a trie data structure to store all possible substrings of the matrix and check if the given string is present in the t...
Designing a video feed API
Define endpoints for accessing video feeds
Include authentication and authorization mechanisms
Consider scalability and performance
Support different video formats and resolutions
Provide error handling and logging
Ensure data privacy and security
Get interview-ready with Top Microsoft Corporation Interview Questions
I would like to develop a mobile application that helps people track their daily water intake.
The app would allow users to set daily water intake goals and track their progress throughout the day.
It could also provide reminders to drink water and offer tips for staying hydrated.
The app could integrate with wearable devices to automatically track water intake.
Users could also log the type of water they are drinking, suc...
I applied via Recruitment Consultant and was interviewed in Mar 2021. There were 3 interview rounds.
I applied via Company Website and was interviewed in Apr 2021. There were 3 interview rounds.
I was interviewed before Sep 2020.
Round duration - 75 minutes
Round difficulty - Easy
This was the coding round which consisted of three coding questions and the 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.
Given an integer N
, find the nearest multiple of 10. If there are multiple nearest multiples, return the smallest one.
The first line contains an integer ...
Given an integer, find the nearest multiple of 10. If multiple nearest multiples, return the smallest one.
Iterate through each test case
Calculate the remainder when dividing N by 10
If remainder is less than or equal to 5, nearest multiple is N - remainder
If remainder is greater than 5, nearest multiple is N + (10 - remainder)
Your task is to create a function that determines the day of the week for any given date, whether in the past or the future.
The first line consists of an integer 'T',...
Create a function to determine the day of the week for any given date.
Parse the input integers to create a date object
Use a library or algorithm to calculate the day of the week for the given date
Return the corresponding day of the week as a string
Given a singly linked list and two integers 'N' and 'M', traverse the linked list to retain 'M' nodes and then delete the next 'N' nodes. Continue this proces...
Traverse a linked list to retain 'M' nodes and then delete the next 'N' nodes, repeating until the end of the list.
Create a function that takes the head of the linked list, 'N', and 'M' as input parameters.
Traverse the linked list, retaining 'M' nodes and deleting the next 'N' nodes in each iteration.
Continue this process until the end of the linked list is reached.
Update the next pointers accordingly to skip 'N' nodes...
Round duration - 30 minutes
Round difficulty - Easy
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). Pseudocode and algorithms were also allowed. All the assumptions made had to be explained as well.
The Look-And-Say sequence is a series of positive integers generated in a specific pattern:
1, 11, 21, 1211, 111221, 312211, 13112221,...
To construct this sequen...
The Look-And-Say sequence is a series of positive integers generated in a specific pattern based on the count of digits in the previous number.
Implement a function to generate the Nth term of the Look-And-Say sequence efficiently.
Use a loop to iterate through the sequence generation process.
Keep track of the count of consecutive digits in each number to generate the next number.
Handle the constraints of the number of t...
Given an array ARR
consisting of non-negative integers, rearrange the numbers to form the largest possible number. The digits within each number cannot be changed.
Rearrange the array elements to form the largest possible number by concatenating them.
Sort the array elements in a custom way to form the largest number.
Convert integers to strings for comparison while sorting.
Handle edge cases like leading zeros in the final number.
Example: For input [12, 5, 34], the output should be '53412'.
Round duration - 50 minutes
Round difficulty - Easy
The interviewer was very friendly and started asking me questions by making me comfortable.
You are provided with a directory path in Unix-style notation, and your task is to simplify it according to given rules.
In a Unix-style file system:
The task is to simplify a directory path in Unix-style notation according to given rules.
Use a stack to keep track of directories while iterating through the input path.
Handle cases for '.', '..', and multiple slashes to simplify the path.
Return the simplified path starting with a slash and without a trailing slash.
You are provided with two arrays representing the coefficients and degrees of a polynomial expression. Your task is to simplify this polynomial into its general...
Simplify a polynomial expression by combining like terms and arranging them in descending order of degrees.
Iterate through the coefficients and degrees arrays to combine like terms
Create a map to store coefficients based on degrees
Sort the map keys in descending order to get the simplified polynomial
Round duration - 40 minutes
Round difficulty - Easy
This round was focused on resume and projects
Round duration - 30 minutes
Round difficulty - Easy
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.
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.
Some of the top questions asked at the Microsoft Corporation interview -
The duration of Microsoft Corporation interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 375 interviews
Interview experience
based on 1.7k reviews
Rating in categories
Software Engineer
1.6k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
1.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer2
1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
762
salaries
| ₹0 L/yr - ₹0 L/yr |
Consultant
600
salaries
| ₹0 L/yr - ₹0 L/yr |
Amazon
Deloitte
TCS