Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Recruitment Consultant and was interviewed before May 2020. There were 4 interview rounds.
The company owns a range of products.
The company produces software for various industries.
They also manufacture hardware products.
Some of their popular products include XYZ software and ABC hardware.
They have a line of consumer electronics as well.
Networking involves connecting devices to share resources and communicate. Hardware refers to physical components of a computer system.
Networking involves protocols, devices, and topologies
Hardware includes components like CPU, RAM, and storage devices
Networking hardware includes routers, switches, and modems
Understanding networking and hardware is essential for troubleshooting and maintaining systems
I applied via Monster and was interviewed in Nov 2020. There were 4 interview rounds.
Learning programming languages is important for software engineers to effectively communicate with computers and develop software solutions.
Programming languages are the foundation of software development.
Learning multiple languages expands the range of problems a software engineer can solve.
Different languages have different strengths and are suited for different tasks.
Knowing multiple languages improves adaptability ...
What people are saying about Microsoft Corporation
I applied via Company Website and was interviewed in Nov 2020. There was 1 interview round.
Microsoft Corporation interview questions for popular designations
I appeared for an interview 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...
The task is to return the spiral path of elements in a given matrix.
Iterate through the matrix in a spiral path by keeping track of boundaries.
Print elements in the order of top, right, bottom, and left sides of the matrix.
Handle cases where the matrix is not a square (N != M) separately.
Consider edge cases like single row, single column, and empty matrix.
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...
Sort an array of 0s, 1s, and 2s in linear time complexity.
Use three pointers to keep track of the positions of 0s, 1s, and 2s in the array.
Iterate through the array and swap elements based on the values encountered.
This approach sorts the array in a single scan without using any extra space.
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
Determine if a given string is identical to its reflection in the mirror.
Iterate through the string and compare characters from start and end simultaneously.
If characters are not equal, return 'NO'.
If all characters match, return '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.
Get interview-ready with Top Microsoft Corporation Interview Questions
I applied via Recruitment Consultant and was interviewed in Sep 2020. There were 3 interview rounds.
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Easy
This round was the online coding test conducted on the platform Mettl. The languages allowed were C, C++, Java and Python. There were three questions. One was of graphs (Depth-first search), other was a big integer problem and the third was a string problem.
You are provided with a graph consisting of N
vertices, numbered from 1 to N
, and M
edges. Your task is to color the graph using two colors, Blue and Red, such that no two...
Given a graph with vertices and edges, determine if it can be colored using two colors without adjacent vertices sharing the same color.
Check if the graph is bipartite using graph coloring algorithm like BFS or DFS.
If the graph is bipartite, return 'Possible' with a valid coloring assignment.
If the graph is not bipartite, return 'Impossible'.
Write a program to perform basic string compression. For each character that repeats consecutively more than once, replace the consecutive duplicate occurrences with t...
Write a program to compress a string by replacing consecutive duplicate characters with the character followed by the number of repetitions.
Iterate through the string and count consecutive occurrences of each character
Append the character and its count to a new string
Return the compressed string if it is shorter than the original, else return the original string
Handle edge cases like single characters or when compresse
Round duration - 60 minutes
Round difficulty - Easy
This was a pen and paper subjective interview round. You were expected to write full code on paper. Make sure you use proper names for the variables and write comments explaining very clearly what the code does. Also, try writing code in good handwriting which can be understood by the interviewer.
Count total palindromic substrings in a given string.
Iterate through each character in the string and consider it as the center of a palindrome. Expand outwards to find all palindromic substrings.
Use dynamic programming to efficiently check if a substring is a palindrome.
Consider both odd-length and even-length palindromes.
Example: Input 'ababa', output 7 (a, b, a, b, a, aba, aba)
Round duration - 45 minutes
Round difficulty - Easy
The interview took place in the morning and the interviewer was very friendly.
Let A[0 ... n-1]
be an array of n
distinct positive integers. An inversion of A
is a pair of indices (i, j)
such that i < j
and A[i] > A[j]
. Given an integer array...
Count the number of inversions in an array of distinct positive integers.
Use merge sort algorithm to count inversions efficiently.
Divide the array into two halves and recursively count inversions in each half.
Merge the two sorted halves while counting split inversions.
Time complexity can be optimized to O(n log n) using merge sort.
Example: For input A = [2, 4, 1, 3, 5], the output should be 3.
Transform a given binary tree into a sum tree where each node is replaced by the sum of its immediate children's values. Leaf nodes should be replaced with 0. Then, p...
Convert a binary tree into a sum tree by replacing each node with the sum of its children's values, and return the preorder traversal.
Traverse the tree recursively and replace each node with the sum of its children's values
Leaf nodes should be replaced with 0
Perform a preorder traversal on the transformed sum tree to get the final result
Round duration - 30 minutes
Round difficulty - Easy
The HR Interview round was held in the morning and it was right after my technical interview.
Just be confident during interview and if you are stuck in between any question, then ask for a hint from the interviewer. The practice is key for success, so practice hard for Data Structures and Algorithms coding problems on Coding ninjas as it is the best platform for coding. Also you may practice on Geeks For Geeks or any other interview portal.
Application resume tips for other job seekersMention all internships which you have done, as it increases your chances of shortlisting your resume. Also just write that skills which you are pretty confident about.
Final outcome of the interviewSelectedI applied via Naukri.com and was interviewed in Apr 2021. There was 1 interview round.
I applied via Referral and was interviewed before May 2021. There were 3 interview rounds.
I appeared for an interview 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...
The task is to determine if a given string consisting of parentheses is balanced or not.
Use a stack data structure to keep track of opening parentheses.
Iterate through the string and push opening parentheses onto the stack.
When encountering a closing parenthesis, pop the top element from the stack and check if it matches the corresponding opening parenthesis.
If the stack is empty at the end of the iteration and all par...
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...
Calculate the total amount of rainwater that can be trapped between given elevations in an array.
Iterate through the array and calculate the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water at each bar to get the total trapped water for the entire array.
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...
Implement a function to find the shortest route visiting each city exactly once and returning to the starting city.
Use backtracking to explore all possible routes and find the minimum distance.
Keep track of visited cities to ensure each city is visited exactly once.
Consider pruning techniques like dynamic programming to optimize the solution.
Example: Start at city 0, visit cities 1 and 2 in any order, and return to cit...
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.
Design a search engine for a global retail application.
Assumptions: assume the search engine will need to handle a large volume of products and users from around the world
System considerations: scalability, speed, relevance of search results, multi-language support
Design components: indexing system, query processing, ranking algorithm, user interface
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...
The task is to find the length of the longest palindromic subsequence in a given string.
Iterate through the string and create a 2D array to store the lengths of palindromic subsequences.
Use dynamic programming to fill the array based on the characters of the string.
The final answer will be the value at the last index of the array.
Example: For input 'CACBDBA', the longest palindromic subsequence is 'CBDC', so the output
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...
Insert a new node with a given value into a binary search tree while maintaining the properties of a BST.
Traverse the BST starting from the root node to find the correct position for insertion.
Compare the value to be inserted with the current node's value to determine whether to go left or right.
Create a new node with the given value and insert it at the appropriate position in the BST.
Ensure that the resulting tree ma...
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.
Sort a given stack in descending order recursively without using loops.
Use recursion to pop elements from the stack and insert them in the correct position.
Maintain a temporary stack to hold elements while sorting.
Compare the top element of the stack with the top element of the temporary stack to insert 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
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