Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
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 ...
I was interviewed before Sep 2020.
Round duration - 50 minutes
Round difficulty - Easy
This was a Data Structural round.
Given a two-dimensional array/list consisting of integers 0s and 1s, where 1 represents land and 0 represents water, determine the number of distinct islands. A group of...
Count the number of distinct islands in a 2D array of 0s and 1s.
Identify islands by performing depth-first search (DFS) on the grid
Use a set to store the shape of each island and check for duplicates
Consider translations to determine distinct islands
Round duration - 50 minutes
Round difficulty - Easy
This was a Data Structural round.
You are tasked with arranging 'N' words of varying lengths such that each line contains at most 'M' characters, with each word separated by a space. The challenge is to minimiz...
The goal is to minimize the total cost of arranging 'N' words on each line with a maximum character limit 'M'.
Calculate the cost of each line as the cube of extra space characters needed to reach 'M'.
Minimize the total cost by arranging words to fit within the character limit on each line.
Ensure each word appears fully on one line without breaking across lines.
Round duration - 60 minutes
Round difficulty - Easy
This was a System Design round.
Design a system similar to Red Bus for handling bookings and onboarding vendors and customers.
Implement a user-friendly interface for customers to search and book tickets
Create a vendor portal for vendors to manage their offerings and availability
Include payment gateway integration for secure transactions
Develop a robust backend system for managing bookings, cancellations, and refunds
Utilize a database to store user in
Round duration - 50 minutes
Round difficulty - Easy
This was a System Design round
Round duration - 50 minutes
Round difficulty - Easy
This was an HR round.
Tip 1 : Practice as much as you can.
Tip 2 : Prepare for company, not in general.
Tip 3 : Your past work should be objective and your contribution should be very clear
Tip 1 : Keep only relevant things for the job you are applying.
Tip 2 : Minimal data with measurable contribution and effect.
I applied via Campus Placement
What people are saying about Microsoft Corporation
I applied via Campus Placement and was interviewed in Jan 2016. There were 5 interview rounds.
To find a loop in a directed graph, use Floyd's cycle-finding algorithm. To find the last element in a binary tree, traverse the tree and return the rightmost leaf node.
For finding a loop in a directed graph, use Floyd's cycle-finding algorithm which uses two pointers moving at different speeds.
To find the last element in a binary tree, traverse the tree recursively or iteratively and return the rightmost leaf node.
The question is about finding the last number in a circular queue that has the highest number of digits.
Implement a circular queue data structure
Iterate through the circular queue to find the last number with the highest number of digits
Compare the number of digits of each number in the circular queue
Keep track of the last number with the highest number of digits
Microsoft Corporation interview questions for designations
I applied via Campus Placement and was interviewed in Dec 2016. There was 1 interview round.
Check if left child is less than right child in a binary tree
Traverse the tree recursively and compare left and right child values
Use a stack to traverse the tree iteratively and compare left and right child values
Return true if all left children are less than right children, else false
Use built-in string method to check substring presence for faster execution.
Use 'indexOf' method to check if substring is present in the main string.
If the method returns -1, the substring is not present.
If the method returns a non-negative integer, the substring is present.
Get interview-ready with Top Microsoft Corporation Interview Questions
I applied via Campus Placement
I applied via Campus Placement
To test if every left child's value is less than the right child's value in a binary tree.
Traverse the binary tree using any traversal algorithm (e.g., in-order, pre-order, post-order)
Compare the value of each left child with its right child
If any left child's value is greater than or equal to its right child's value, return false
If all left child's values are less than their right child's values, return true
Cloning a linked list-like structure
Create a new node for each node in the original linked list
Set the value of the new node to the value of the corresponding node in the original linked list
Set the next pointer of the new node to the new node corresponding to the next node in the original linked list
Repeat the above steps until all nodes in the original linked list are cloned
To find the nth character in a stream of bytes, we need to read the stream byte by byte until we reach the nth position.
Start reading the stream byte by byte until you reach the nth position
Return the byte at the nth position
If the stream ends before reaching the nth position, return null or throw an exception
Rearrange a string to avoid consecutive same characters.
Iterate through the string and keep track of the previous character.
If the current character is the same as the previous, swap it with the next different character.
Repeat until no consecutive same characters are left.
The task is to find the next highest palindrome number given a number.
Convert the given number to a string
Check if the number is already a palindrome
If not, increment the number by 1 and check if it is a palindrome
Repeat the previous step until a palindrome is found
Canonicalizing a directory path involves simplifying and standardizing the path to remove any redundant or unnecessary elements.
Remove any consecutive slashes and replace them with a single slash
Remove any trailing slashes
Resolve any relative paths (e.g., '..' and '.')
Handle special cases like the root directory ('/')
Normalize the path by removing any unnecessary elements
I applied via Campus Placement
I applied via Campus Placement and was interviewed in Dec 2016. There were 6 interview rounds.
App performance analysis involves identifying and resolving bottlenecks to improve user experience.
Collect and analyze performance metrics such as response time, CPU usage, memory usage, and network latency.
Identify and prioritize bottlenecks based on impact on user experience and frequency of occurrence.
Implement optimizations such as caching, code refactoring, and database tuning.
Continuously monitor and test perform...
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
Some of the top questions asked at the Microsoft Corporation Software Engineer interview -
The duration of Microsoft Corporation Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 49 interviews
5 Interview rounds
based on 129 reviews
Rating in categories
Software Engineer
1.9k
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
695
salaries
| ₹0 L/yr - ₹0 L/yr |
Consultant
599
salaries
| ₹0 L/yr - ₹0 L/yr |
Amazon
Deloitte
TCS