Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I was interviewed in Aug 2022.
Round duration - 60 minutes
Round difficulty - Medium
A problem solving round with 1 problem on DP. It was on a platform with a text editor provided. Was expected to solve the problem and write the code. Post initial discussion on the solution approaches came up with an optimized solution using Dynamic Programming and wrote the solution. Then some discussion on the Time and Space complexity of the solution.
Interviewer was satisfied with the solution and also dry ran with 1 test case.
Given a string S
composed of digits ranging from 2 to 9, determine all possible strings that can be created by mapping these digits to their correspon...
Round duration - 60 minutes
Round difficulty - Hard
This round happened on the same day after 1st round. It was a Low level design round with one problem to be solved in 60 minutes.
Round duration - 60 minutes
Round difficulty - Medium
This round happened on the same day after 2nd round. The platform used was codility. It was a System design/ Low level design round with one problem to be solved in 60min.
Round duration - 30 minutes
Round difficulty - Easy
It was an HR round with focus on the work ethics, culture and my prior experiences. The recruiter was trying to test my situation handling capability by asking different scenario based questions.
Tip 1 : Practice problems with consistency
Tip 2 : Learn and try to up solve
Tip 3 : Enjoy each problem and try different ways of solving it
Tip 4 : Brush up OOP concepts
Tip 5 : Practice hands on for Low level design by white board coding
Tip 1 : Have 1-2 good quality projects.
Tip 2 : Try to maintain 1 page resume.
Tip 3 : Put things which you have in depth knowledge about in resume.
I applied via LinkedIn and was interviewed in Feb 2022. There were 5 interview rounds.
Interview was around 1.15 hrs. Initially it was self introduction for both sides. Then a string manipulation related question was posted and asked to solve. At last it was queries to interviewer.
Total time 1hr. Self introduction for both parties.
Questions on CICD process in my project and automation ideas to handle errors with different scenarios. Then queries if any.
Total time 1.15hr.
Self introduction and coding question related to linked list in codility. The question was enhanced depending on splving techniques. Finally queries.
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...
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 ...
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...
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.
What people are saying about Microsoft Corporation
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
Microsoft Corporation interview questions for designations
I was interviewed before May 2021.
Round duration - 60 Minutes
Round difficulty - Easy
Given a list of integers of size N
, your task is to determine the Next Greater Element (NGE) for every element. The Next Greater Element for an element X
is the firs...
I solved this via stack
1. Push the first node to stack.
2. Pick the rest of the node one by one and follow the following steps in the loop:
3. Mark the current node as next node.
4. If the stack is not empty, compare the top node value of the stack with next node value.
5. If next node value is greater than the top node value then, Pop the top node from the stack and next is the next greater element for the popped no...
Your task is to create a deep copy of a linked list, where each node has two pointers: one that points to the next node in the list, and a 'random' pointer which can ...
This is bit tricky because if you you create entire nodes and then copy value of original linked list node then you will shallow copy the references.
I tried to deep copy from end node to head node, but yeah you need to store prev references as those are lost because of previous problem I mentioned above.
Round duration - 60 Minutes
Round difficulty - Medium
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...
1. First check if the length of the string is less than the length of the given pattern, if yes then “no such window can exist “.
2. Store the occurrence of characters of the given pattern in a hash_pat[].
we will be using two pointer technique basically
3. Start matching the characters of pattern with the characters of string i.e. increment count if a character matches.
4. Check if (count == length of pattern ) this means...
Given a binary tree, connect all adjacent nodes at the same level by populating each node's 'next' pointer to point to its next right node. If there is no nex...
I tried multiple approaches like storing direct child in queue and then retrieving and connecting in them and also adding further direct child in queue.
I was not able to solve this completely and some corner case was missing like when there is no right or left child.
But interviewer told me that you tried it nicely.
Round duration - 60 Minutes
Round difficulty - Easy
You are given a string 'S' that represents a number. Your task is to find the closest palindromic number to this integer represented by 'S'. The closest number is defi...
I solved it with below steps
1. Break the string into half.
2. Take first half and then reverse this first half and append.
e.g
3745, its first half is 37 and then reversing the first half I will get 73. So next largest no which is palindrome is 3773.
3. Consider a case when you get no. less than the given no. e.g 3796
Following #2 approach you will get 3769 which is less than 3796.
In this case I incremented the first half b...
Round duration - 60 Minutes
Round difficulty - Medium
You are given two strings str1
and str2
. Determine the minimum number of operations required to transform str1
into str2
.
An operatio...
Given a Snake and Ladder Board with 'N' rows and 'N' columns filled with numbers from 1 to N*N starting from the bottom left of the board, and alternating direction each...
It is very similar to the above problem
The idea is to consider the given snake and ladder board as a directed graph with number of vertices equal to the number of cells in the board. The problem reduces to finding the shortest path in a graph. Every vertex of the graph has an edge to next six vertices if next 6 vertices do not have a snake or ladder. If any of the next six vertices has a snake or ladder, then the edge ...
Tip 1: Take Queues for background processes, Use bloomfilter to reduce DB query while checking if same URL is already processed, Use different services for page parsing and download pages. You can have separate queues based on domain so that you can parse all pages of same domain once. Use reddis cache to store latest pages.
Tip 2: Use Distributed systems, HDFS for storage large unstructured content and analytical jobs
T
Round duration - 70 Minutes
Round difficulty - Medium
Some of the tips are here.
Tip 1 : Think about CAP theorem. You have to be consistent here bit of latency is fine.
Tip 2 : Ask about dirty reads are allowed or not. if allowed , you can think on making system faster. Keep the data in cache so that if some old value is fine you can refresh cache after some period of time.
Seperate DB for write and read. Readers can sync from write DB asynchronously.
Tip 1 : Solve atleast 1 DS/Algo problem everyday
Tip 2 : Learn high level designs and low level designs
Tip 1 : Have your skills defined in bold like worked on scaling the system which takes 100 million traffic per day etc, have experience in BigData, kafka, AWS/Azure erc
Tip2 : Show your achievements separately like Won ABC Hackathon, ICPC Regional finalist, etc
Get interview-ready with Top Microsoft Corporation Interview Questions
Design a web crawler to fetch and index web pages
Start by defining the scope of the crawler (e.g. which websites to crawl)
Implement a system to fetch web pages using HTTP requests
Parse the HTML content to extract relevant information (e.g. links, text)
Store the extracted data in a database or index for later retrieval
Implement a scheduling mechanism to prioritize and manage the crawling process
I was interviewed in Nov 2020.
Round duration - 60 minutes
Round difficulty - Easy
You are provided with a string STR
of length N
comprising lowercase English alphabet letters. Your task is to determine and return the minimum number of characters that n...
Implement a wildcard pattern matching algorithm to determine if a given wildcard pattern matches a text string completely.
The wildcard pattern may include the...
Round duration - 90 minutes
Round difficulty - Medium
It was nice
Round duration - 45 mintues
Round difficulty - Easy
Very nice interviews very helpful.
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.
Tip 1 : Mention your important projects in detail.
Tip 2 : Try to make a single-page resume. Highlight skills, projects, and work experience more than CGPA. Ensure proper spacing and font to maintain professionalism.
Tip 3 : Keep it precise and concise.
Tip 4 : Mention your achievements related to the role you are applying for.
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
Technical Interview round with questions on DSA.
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
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...Round duration - 45 minutes
Round difficulty - Medium
Technical Interview round with DSA based questions.
You are given a Singly Linked List of integers. Your task is to reverse the Linked List by changing the links between nodes.
The first line of input contai...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Approached by Company
Aptitude and coding round, one coding question and others are computer fundamentals
based on 9 reviews
Rating in categories
Software Engineer
2k
salaries
| ₹13 L/yr - ₹51 L/yr |
Senior Software Engineer
1.1k
salaries
| ₹21 L/yr - ₹85 L/yr |
Software Engineer2
994
salaries
| ₹20 L/yr - ₹70 L/yr |
Consultant
598
salaries
| ₹13 L/yr - ₹36.7 L/yr |
Support Engineer
560
salaries
| ₹7.6 L/yr - ₹30 L/yr |
Amazon
Deloitte
TCS