Upload Button Icon Add office photos

Microsoft Corporation

Compare button icon Compare button icon Compare

Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards

zig zag pattern zig zag pattern

Filter interviews by

Microsoft Corporation Interview Questions, Process, and Tips

Updated 8 Mar 2025

Top Microsoft Corporation Interview Questions and Answers

View all 735 questions

Microsoft Corporation Interview Experiences

Popular Designations

557 interviews found

Interview Questions & Answers

user image

posted on 27 Dec 2015

Interview Preparation Tips

Round: Test
Experience: This is a completely technical aptitude.There were two sections, one section had 10 questions all multiple choice type, with negative marking +3,-2. The questions were on pointers, arrays,references, basic operator precedences and other basics like preorder postorder, OS questions.Second section is the old Microsoft format:-


· Programming Questions – we were asked to do gcd(a,b) in O(log(ab)) .
· Test cases – Write test cases for a swiping pad
· Design Problem – Design a grocery store billing system , specify the data structures that can be used there was also other details including some discounts, taxes, barcodes etc
(My friend used 4 approaches, with each approach having a data structure for each task.One had queue and tree, one had stack and skip lists, the most efficient one had tries and others. Also make sure you explain your algorithms working in detail.

Round: Technical Interview
Experience: His round is mostly a tech interview with a couple of HR questions here and there.Most of the
questions required writing algorithms. Here are some sample questions:
· “How was the aptitude? You dont seem to happy about it”
· Given two sorted linked lists, merge them to a single sorted list. They will ask for recursive code and also to explain it with some sample inputs.
· Given an array of just two numbers (Ex: 1′s and 0′s), sort them in an efficient way,(some
variations include 3 numbers), also you are required to do it in O(n) solution.
· Write a recursive code to find loop in a singlely link list.
This round is easy compared to some of the other rounds. Only a couple questions 4-5 not more here.

Round: Technical Interview
Experience: This was longest and toughest round so far as i have heard, most of he people who attended said it was hard. It is also a pure technical round. First after all the introduction, they ask you about the toughest project you have done (Thinking about it me friend said all were easy dont say that :D). My friend told him about his TGMC(the great mind challenge ibm), and questions were asked in detail, as detailed as you can get. Basically you say something he changes it and asks a questions(how can you improve that you _ _ stuff like that). My friend was doing a web related project and they asked him this: given a list of URL’s of the type (URL,type,content) write a program to list out which are the porn site and which are not porn(my friend was like sites with XXX continuously is porn he asked more details, seemed like he knew a lot of porn sites). They kept pointing out this and that while your writing your code and ask you to make certain parted more optimized. For example my friend used 4 flags for the above code he wanted it done with the maximum use of 2 flags and also he want graphs concept to be used.My friend took a good 1 and a half hours for his part.Then you have to write test cases for the code you have written,(wrote around 30 questions). Then you have to tick which test cases your code handles properly. Then modify the code again to make it work for the remaining cases. The last question was “How to test whether or not a server is good ”( consistency, scalability….). This is the longest and tuffest round of all. Basically be EXTRA through about a single project.

Round: Technical Interview
Experience: Again this is also a tech round. Questions asked to my friend were:
Q1: Write test cases to perform “pair-wise” reverse a linked list.. (Sample Inp 3->4->5->6->7->8, Output 7->8->5->6->3->4. )
Q2: Write code for the same problem that satisfies all the above testcase.
Q3. Given a random function rand(n) , how ll u test that it returns exactly the random numbers between 1 to n?
Used some probability laws and the interviewer help here to solve the problem.
The round took about an hour

Round: HR Interview
Experience:
This was not HR. They ask a lot of questions again, no pen or pencil face to face tech chat.
You have to name two subjects you like the most and they ask you questions from it. (I am going to expalin in direct speech)
My friends said Computer organization and design and datastructures. Lot of questions about cache, virtual memory, write back and write through.In datastructures about hash table, arrays listed list, advantages and dis advantages of hash table.
Also he asked a simple program to wrap it all up:” Given an array of numbers each number is repeated twice, find the only number that is not repeated ”. My friend started with O(n^2) solution, moved on with O(nlogn)(like 5 solutions).He still wanted better and gave clues (he wanted me to use sign bitsJ ).After about 30 minutes it was over

Skills:
College Name: N/A

Interview Questions & Answers

user image Anonymous

posted on 15 Jun 2015

Interview Questionnaire 

19 Questions

  • Q1. What is the difference between a class and object?
  • Ans. 

    A class is a blueprint or template for creating objects, while an object is an instance of a class.

    • A class defines the properties and behaviors that an object will have.

    • An object is created from a class and can have its own unique values for the properties defined in the class.

    • Multiple objects can be created from a single class.

    • Classes can be used to create objects with similar characteristics and behaviors.

    • Objects can...

  • Answered by AI
  • Q2. Find the intersection of two linked lists
  • Q3. How do you sort a linked list using the most efficient algorithm?
  • Ans. 

    The most efficient algorithm to sort a linked list is Merge Sort.

    • Merge Sort is a divide-and-conquer algorithm that recursively divides the linked list into smaller sublists.

    • It then merges the sorted sublists to obtain the final sorted list.

    • Merge Sort has a time complexity of O(n log n), making it efficient for large linked lists.

  • Answered by AI
  • Q4. What is stored procedure? What are its advantages and disavantages?
  • Q5. Which is better trigger or stored procedure?
  • Ans. 

    It depends on the specific use case and requirements.

    • Stored procedures are precompiled and can be executed independently.

    • Triggers are automatically executed when a specific event occurs.

    • Stored procedures are suitable for complex business logic and data manipulation.

    • Triggers are useful for enforcing data integrity and maintaining consistency.

    • Both triggers and stored procedures have their own advantages and should be use

  • Answered by AI
  • Q6. How to test a calculator?
  • Q7. Write a procedure to shuffle cards, and also mention strengths and shortcomings of your approach
  • Q8. Differnce between interfaces and abstract classes?
  • Q9. Validate a Binary search tree?
  • Ans. 

    A binary search tree is valid if the left subtree is less than the root and the right subtree is greater than the root.

    • Check if the left subtree is less than the root and the right subtree is greater than the root

    • Traverse the tree recursively and check each node

    • Use a min and max value to check if each node is within the correct range

    • Example: 5 / \ 2 7 / \ / \ 1 3 6 8 is a valid binary search tree

    • Example: 5 / \ 2 7 / \

  • Answered by AI
  • Q10. Print the binary tree in zig-zag order
  • Ans. 

    Print binary tree in zig-zag order

    • Use two stacks to keep track of nodes at each level

    • Alternate between popping nodes from the stacks to print in zig-zag order

    • Start with the root node and push its children onto the first stack

    • Continue until both stacks are empty

  • Answered by AI
  • Q11. Whats the difference b/w a thread and a process? are Word and PowerPoint different processes or threads of a single process?
  • Ans. 

    A thread is a subset of a process, sharing memory and resources. Word and PowerPoint are different processes.

    • A process is a standalone program with its own memory space, while a thread is a subset of a process sharing memory and resources.

    • Processes are independent of each other, while threads within the same process can communicate directly.

    • Word and PowerPoint are different processes as they are separate applications r

  • Answered by AI
  • Q12. How does a spell checker routine (common to both, word and PowerPoint) used?
  • Ans. 

    Spell checker routine in Word and PowerPoint helps identify and correct spelling errors in documents and presentations.

    • The spell checker routine scans the text for misspelled words.

    • It suggests corrections for misspelled words based on a built-in dictionary.

    • Users can choose to accept or ignore the suggested corrections.

    • The spell checker can be customized to add new words to the dictionary or ignore certain words.

    • In Powe...

  • Answered by AI
  • Q13. Design Memory Management System
  • Q14. Give all possible test cases to test the basic features of a mobile
  • Ans. 

    Test cases to test basic features of a mobile

    • Test making a call

    • Test sending a text message

    • Test browsing the internet

    • Test taking a photo

    • Test playing a video

    • Test installing and uninstalling an app

    • Test adjusting volume and screen brightness

    • Test connecting to Wi-Fi and Bluetooth

    • Test charging the phone

    • Test accessing and using the phone's settings

  • Answered by AI
  • Q15. In unix there is a command called "tail". Implement that command in C
  • Ans. 

    Implementing the 'tail' command in C to display the last few lines of a file.

    • Open the file using fopen()

    • Seek to the end of the file using fseek()

    • Read the file backwards line by line using fseek() and fgets()

    • Store the lines in an array of strings

    • Print the lines in reverse order

  • Answered by AI
  • Q16. Some questions about race condition (OS)
  • Q17. Questions related to semaphores
  • Q18. Questions related to mutex. Applications of mutex. How to implement mutex in OS?
  • Q19. Write a query for accesing unique rows from emp(Ename,Age) sorted by age?

Interview Preparation Tips

College Name: n/a

Skills evaluated in this interview

Interview Questions & Answers

user image Anonymous

posted on 15 Jun 2015

Interview Questionnaire 

10 Questions

  • Q1. What are your interests?
  • Q2. Some Questions on the projects listed on your resume?
  • Q3. Which is your favorite subject? Some questions from that subject
  • Q4. Something about yourself, your hobbies, interests, strengths and weakness?
  • Q5. What subjects did you like most in University and why?
  • Q6. Talk about what inspires you the most right now
  • Q7. Why would you like to work for us?
  • Q8. How long would you expect to work for us if hired?
  • Q9. What is more important to you: the money or the work?
  • Q10. Do you have any questions for me?

Interview Preparation Tips

College Name: n/a

Interview Questions & Answers

user image Anonymous

posted on 15 Jun 2015

Interview Questionnaire 

11 Questions

  • Q1. Reverse a linked list?
  • Ans. 

    Reverse a linked list by changing the direction of pointers.

    • Create three pointers: prev, curr, and next

    • Initialize prev to null, curr to head

    • Loop through the list and set next to curr's next node

    • Set curr's next node to prev

    • Move prev and curr one step forward

    • Return prev as the new head

  • Answered by AI
  • Q2. Find if there is a loop in a linked List?
  • Ans. 

    Yes, we can find if there is a loop in a linked list using the Floyd's cycle-finding algorithm.

    • Use two pointers, one moving at a speed of one node at a time and the other moving at a speed of two nodes at a time.

    • If there is a loop, the two pointers will eventually meet at the same node.

    • If the fast pointer reaches the end of the list (i.e., null), there is no loop in the linked list.

  • Answered by AI
  • Q3. Given two arrays of numbers, find if each of the two arrays have the same set of integers ? Suggest an algo which can run faster than NlogN ?
  • Ans. 

    Using a hashmap to store frequency of numbers in both arrays can help determine if they have the same set of integers.

    • Create two hashmaps to store frequency of numbers in each array

    • Iterate through both arrays and update the frequency in the hashmaps

    • Compare the hashmaps to check if they have the same set of integers

  • Answered by AI
  • Q4. Questions on Java. Exception handling
  • Q5. Need of catch and finally block in Java exception handling
  • Ans. 

    Catch and finally blocks in Java exception handling are essential for proper error handling and resource cleanup.

    • Catch block is used to handle exceptions that occur within the try block.

    • Finally block is used to execute code that must run regardless of whether an exception is thrown or not.

    • Using both catch and finally blocks ensures proper error handling and resource cleanup in Java programs.

  • Answered by AI
  • Q6. How will you create your own exception.. Explain with example
  • Q7. Some questions on compiler construction. What is parser? What is input to the parser and what is output of parser? Difference between top down and bottom up parser
  • Q8. Write an algorithm to find the depth of a binary tree
  • Q9. Develop recursive program. F(1) = 1. F(2n) = F (n) and F(2n+1) = F(n) + F(n+1)
  • Q10. Write an algorithm to separate all zeroes and ones in an array
  • Q11. How to detect the starting point of loop in a linked list which has a loop
  • Ans. 

    To detect the starting point of a loop in a linked list, we can use Floyd's Cycle Detection Algorithm.

    • Use Floyd's Cycle Detection Algorithm to find the meeting point of slow and fast pointers in the loop.

    • Move one pointer back to the head of the linked list and then move both pointers at the same pace until they meet again. The meeting point will be the start of the loop.

    • Alternatively, use a hash set to store visited no...

  • Answered by AI

Interview Preparation Tips

College Name: n/a

Skills evaluated in this interview

Microsoft Corporation interview questions for popular designations

 Software Engineer

 (65)

 Software Developer

 (62)

 Senior Software Engineer

 (28)

 Software Developer Intern

 (24)

 Intern

 (20)

 Technical Support Engineer

 (14)

 Software Development Engineer

 (11)

 Data Scientist

 (10)

Interview Questionnaire 

8 Questions

  • Q1. : While I read the resume go ahead and introduce yourself.
  • Q2. : Questions about DSA and DBMS
  • Q3. Write code for the subtitle syncing application you talked about, not the entire thing, just the crux of it.
  • Ans. 

    Code for subtitle syncing application

    • Create a function to parse subtitle file and extract time stamps

    • Create a function to parse video file and extract time stamps

    • Calculate time difference between subtitle and video time stamps

    • Adjust subtitle time stamps accordingly

    • Output synced subtitle file

  • Answered by AI
  • Q4. Write code for designing the ADT (Abstract Data Type) for all the classes that might be required to represent the game of chess
  • Ans. 

    Design ADT for chess game classes

    • Create classes for pieces (king, queen, etc.), board, player, game

    • Use inheritance to represent different types of pieces

    • Implement methods for moving pieces, checking for checkmate, etc.

  • Answered by AI
  • Q5. Why Microsoft?
  • Ans. 

    Microsoft is a leader in technology innovation and provides a challenging and rewarding work environment.

    • Microsoft is a well-established and respected company in the tech industry

    • The company is known for its cutting-edge technology and innovation

    • Working at Microsoft offers opportunities for growth and development

    • The company culture values diversity and inclusion

    • Microsoft has a strong commitment to social responsibility

  • Answered by AI
  • Q6. You left Barclays for Microsoft?
  • Ans. 

    Yes, I left Barclays to join Microsoft.

    • I was looking for new challenges and opportunities to grow my skills.

    • Microsoft offered a more dynamic and innovative work environment.

    • I was excited about the potential to work on cutting-edge technology and make a real impact.

    • I had always admired Microsoft's commitment to innovation and customer satisfaction.

  • Answered by AI
  • Q7. What makes you better than you colleagues?
  • Ans. 

    I believe in continuous learning and improvement, and strive to bring innovative solutions to the table.

    • I am always looking for ways to improve my skills and knowledge

    • I am proactive in identifying and solving problems

    • I am a team player and collaborate effectively with my colleagues

    • I am committed to delivering high-quality work and meeting deadlines

    • I am adaptable and able to work in a fast-paced environment

  • Answered by AI
  • Q8. Write the artificial intelligence logic in code for your Chess representation
  • Ans. 

    AI logic for Chess representation

    • Implement minimax algorithm with alpha-beta pruning

    • Use evaluation function to assign values to board positions

    • Implement move ordering to improve efficiency

    • Use transposition tables to store previously evaluated positions

    • Implement iterative deepening to improve search depth

  • Answered by AI

Interview Preparation Tips

Round: Test
Experience: Some companies don’t make any strict regulations regarding the language in question, but Microsoft always goes with C/C++. The questions are similar to what you would find in books like “Let us C”. Questions regarding pointer manipulation, predicting the output, pre-order postorder increment decrement, structures, arrays formed the majority. · These are their favourite areas of computer science that they choose to focus on. That being said the questions asked in this section were quite few. Maybe 5 or less than that. Questions regarding like memory allocation in OS, preferred data structure for a particular application, properties of database management systems made it in.
Tips: 1.   While preparing for the aptitude, sharpen your C skills. Give second preference to OS, DBMS and DSA. 2.   Get extensive practice in the most common types of C aptitude questions and give regular online tests. 3.   Cover what you can in OS, DBMS and DSA in the time that remains.
Total Questions: 30 MCQs

Round: programming round
Experience: Once you clear the aptitude you become eligible for the programming round. This round has two questions meant to be solved in C. The focus is on the following aspects and in this particular order:CorrectnessOutput is correct for the given test cases Completeness Output is correct for all the test cases Time Complexity The program has the specified time complexity or less Space Complexity The program does not occupy too much excess space
You don’t have to write the entire programs just the necessary functions to perform the tasks given. The results were declared after a few days when Microsoft visited.
Question1 - Find an element in a rotated sorted array in O(log n) time. For ex. Find 4 in 7 8 9 1 2 4 5 
Question2 - With a parent pointer in every node of a binary tree, find the in order successor of a given node. I solved both of these questions, yet my solution for the first one used some amortized amount of time (amortized time is time that is not significant enough to affect the order, that is log n, but it is not too insignificant to be ignored as constant) more than the required time constraint which had me worried a little
Tips: Work on getting at least the right answer, worry about the run time and space complexity later. Even people who could get just the right answer made it to the wildcard round

Round: case study round
Experience: People who barely managed to get their output right in the last round were eligible for this round. I don’t have details about how this round was conducted since I wasn’t part of it but it is pretty standard procedure, the same kind of GD or case study that happens in most companies

Round: Technical Interview
Experience: Keep it real. Say stuff that is good about you AND makes you a good candidate for the job. You never have more than 3-4 minutes for such questions so focus on conveying what is most important. After general introductions, I talked about how passionate I am about programming and technology in general, how I didn’t just see it as a subject or a career option but something that I enjoyed doing and have successfully used in my daily life. Talk about what values and work ethics you believe in. End it with what qualities you have as a person or as a possible employee. Please note that you should not leave the interviewer on just your words to believe on. Give short descriptive examples to support what you are saying but don’t go on telling long boring stories I gave the required answers. I am not elaborating on this part since this is something that you can answer just by knowing your stuff. It was nothing out of the ordinary but it wasn’t all that easy. DSA and DBMS were among my favourite subjects so I did pretty well.  I wrote the code since I had actually made the application. This is an important question where he was testing whether I told the truth or not earlier. So whatever happens do not lie or make up even a single detail while explaining something, you never know what might come back to haunt you Write code for designing the ADT (Abstract Data Type) for all the classes that might be required to represent the game of chess Me: This was the kind of question that I wasn’t expecting. Also the reason I got this question was that I had mentioned chess in my hobbies. So keep in mind every small thing you put in your resume matters a lot. He allowed me to choose my language of choice so I began with Java and then I did the important part.

Round: HR Interview
Experience: Why Microsoft?- Give some answer that is well thought and prepared beforehand.
You left Barclays for Microsoft? -Basically what they wanted to know here is that I don’t have the same plans for Microsoft. I told them Barclays was an investment bank and while I was fortunate to get a chance to work in that great environment I want to start my career in a product based company so Microsoft (Microsoft is becoming a service based company now BTW) Note: If you have done internship somewhere else and have rejected an offer from there, say only good things about your previous employer. Anything else will reflect badly on you.   
What makes you better than you colleagues? - Whatever nice things you can say about yourself, everything comes here. Don’t, however mention the negative points of your colleagues, in hopes of making yourself look good. It will only make you look bad. 
Write the artificial intelligence logic in code for your Chess representation- Now the fact that this question was asked in HR rather than Tech should give you an idea about the real purpose of this question. When this question was asked we didn’t even have AI as a subject yet. The interviewer knew beforehand that I could not code this. He wanted to see how I would handle it. So after thinking for a few minutes I decided to draw flow charts and map out scenarios

College Name: IIT MADRAS

Skills evaluated in this interview

Top Microsoft Corporation Software Development Engineer Interview Questions and Answers

Q1. Given two words, find the similarity between them. You have to develop your own sense of similarity here. Normalize length of LCS by the total length of the string.
View answer (1)

Software Development Engineer Interview Questions asked at other Companies

Q1. Given an acyclic graph of a city where each edge represents a road in the city and each vertex represents an crossing. Write an algo to find out the minimum number of vertices at which a policemen will be kept so that all the roads are cove... read more
View answer (2)

Get interview-ready with Top Microsoft Corporation Interview Questions

Interview Questionnaire 

10 Questions

  • Q1. How I would have attempted the first question in round 2
  • Q2. Asked me my interests?
  • Q3. How would you find least common ancestor of two nodes in a binary tree?
  • Ans. 

    To find least common ancestor of two nodes in a binary tree, traverse the tree from root to the nodes and store the paths. Then compare the paths to find the common ancestor.

    • Traverse the binary tree from root to the two nodes and store the paths

    • Compare the paths to find the common ancestor

    • If the binary tree is a BST, compare the values of the nodes to find the common ancestor

    • If one of the nodes is the ancestor of the o

  • Answered by AI
  • Q4. How would you optimize it for a binary search tree?
  • Ans. 

    Optimizing for binary search tree

    • Ensure the tree is balanced to maintain O(log n) search time

    • Implement efficient insertion and deletion algorithms

    • Use in-order traversal for sorted output

    • Consider using AVL or Red-Black trees for self-balancing

    • Avoid using recursion for large trees to prevent stack overflow

  • Answered by AI
  • Q5. Find a string in a 2D character matrix in any order(horizontal/vertical/diagonal)
  • Ans. 

    Search for a string in a 2D character matrix in any direction

    • Iterate through each cell of the matrix

    • For each cell, check all possible directions for the string

    • If found, return the starting and ending coordinates of the string

  • Answered by AI
  • Q6. How would you identify two nodes that have been swapped in a binary search tree?
  • Ans. 

    To identify swapped nodes in a binary search tree, we need to perform an inorder traversal and compare adjacent nodes.

    • Perform an inorder traversal of the binary search tree

    • Compare each node with its adjacent node

    • If a node is smaller than its previous node, mark it as a swapped node

    • If two nodes are swapped, swap their values to restore the original binary search tree

  • Answered by AI
  • Q7. Asked me to write a function for reversing characters in a string
  • Q8. Asked me to explain my projects.
  • Q9. A few HR questions about family, achievements, why Microsoft, future pla
  • Q10. Creative Interview

Interview Preparation Tips

Round: Test
Duration: 30 minutes
Total Questions: 15

Round: coding
Experience: Write 2 functions(not entire programs) in C language on cocubes.com platform Q.1 Find an element in a rotated sorted array in O(log n) time. For ex. Find 4 in 7 8 9 1 2 4 5 A binary search technique could also do it in O(log n). They wanted an optimized binary sort and so I felt, the question wasn't clear enough. Didn't attempt it and told the interviewer the reason. Q.2  With a parent pointer in every node of a binary tree, find the in order successor of a given node. Solved only the second, but I ensured it could work on all boundary cases. Results of round 2 were declared on the day Microsoft visited the campus.

Round: Technical Interview
Experience: How would you find least common ancestor of two nodes in a binary tree? I said you could use two stacks, push nodes as you traverse and then compare when you are popping. He asked me to explain on the whiteboard. I did, but realised there was a problem, I looked at him and he was there, smiling as wide as he could. I asked for 2 minutes, and then gave him a better approach with a stack and a hash table. He seemed satisfied
Tips: Keep talking while you are solving a problem/writing code. This keeps him informed of your progress and if you are lucky, you might receive some help. He repeatedly had been asking me stand up and sit to explain everything on the board. So eat adequately on any interview day.

Round: HR Interview
Experience: Asked me to write a function for reversing characters in a string and left the room. I wrote  4 lines of code to swap characters from ends. A vague question it was, he returned and explained what he wanted later. It was his fault but I politely apologized for not understanding the question. Remember: The boss is always right!

He wanted the string to be reversed alphabetically. So if it was "adecb", it should become "edcba". I wrote code. He had a 2-second glance at it, and then asked for an explanation

Round: Other Interview
Experience: A happy two hour discussion-cum-interview on designing another Facebook, all data structures, algorithms that can be used and features, optimisations that could be added. I asked him a few conceptual questions related to his subjects of interest and he answered delightfully. He gave me his email ID to contact him for more knowledge and for a second I missed my heartbeat, coz that might mean he won’t meet again. But results were announced and there he was, shaking my hands with a gleaming smile.

General Tips: Overall, it was a great experience interacting with them. Seemed to be a nice bunch of interesting people, looking for intellectual conversations with students.
Skills: C, C++, Data structures, Algorithms
College Name: IIT MADRAS

Skills evaluated in this interview

Top Microsoft Corporation Software Development Engineer Interview Questions and Answers

Q1. Given two words, find the similarity between them. You have to develop your own sense of similarity here. Normalize length of LCS by the total length of the string.
View answer (1)

Software Development Engineer Interview Questions asked at other Companies

Q1. Given an acyclic graph of a city where each edge represents a road in the city and each vertex represents an crossing. Write an algo to find out the minimum number of vertices at which a policemen will be kept so that all the roads are cove... read more
View answer (2)

Interview Questionnaire 

17 Questions

  • Q1. 1. Tell me about yourself (This was the first question in every interview I ever gave. So prepare a good answer for it).
  • Q2. 2. Print first 200 Fibonacci numbers in reverse order. (I did it but it was not efficient).
  • Ans. 

    Print first 200 Fibonacci numbers in reverse order.

    • Use an array to store the Fibonacci numbers

    • Start with 0 and 1, then add the previous two numbers to get the next one

    • Loop through the array in reverse order to print the numbers

  • Answered by AI
  • Q3. 3. Check whether a string is palindrome or not
  • Ans. 

    Check if a string is a palindrome or not.

    • A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward.

    • To check if a string is a palindrome, compare the first and last characters, then the second and second-to-last characters, and so on.

    • If all pairs match, the string is a palindrome. If any pair does not match, the string is not a palindrome.

    • Ignore spaces, punctuation,...

  • Answered by AI
  • Q4. 4. What is normalization? Explain 2NF, 3NF, BCNF. (I didn’t know BCNF).
  • Ans. 

    Normalization is the process of organizing data in a database to reduce redundancy and dependency.

    • 2NF eliminates partial dependencies by ensuring that non-key attributes depend on the entire primary key.

    • 3NF eliminates transitive dependencies by ensuring that non-key attributes depend only on the primary key.

    • BCNF eliminates overlapping candidate keys by ensuring that each determinant is a candidate key.

  • Answered by AI
  • Q5. 5. What is TCP IP (I could not answer). 6. What is a stack/queue?
  • Q6. What are indexes, clustered and non-clustered indexes?
  • Ans. 

    Indexes are used to improve database performance by allowing faster data retrieval. Clustered indexes determine the physical order of data, while non-clustered indexes are separate structures.

    • Indexes are used to speed up data retrieval in databases

    • Clustered indexes determine the physical order of data in a table

    • Non-clustered indexes are separate structures that point to the data in a table

    • A table can have only one clus...

  • Answered by AI
  • Q7. What are the problems in Mumbai and design technological solutions for them. You get a good chance to show your creativity in open-ended questions like these. We discussed the above question for almost 20...
  • Q8. Design the database that you used in your project
  • Ans. 

    Designed a relational database with tables for users, products, orders, and payments.

    • Identified entities and relationships to create tables

    • Normalized tables to reduce redundancy and improve data integrity

    • Used primary and foreign keys to establish relationships between tables

    • Implemented indexes to improve query performance

  • Answered by AI
  • Q9. What went wrong in the first round?
  • Ans. 

    I misunderstood the requirements and implemented the wrong feature.

    • Misunderstood the requirements

    • Implemented the wrong feature

    • Realized the mistake after the first round

  • Answered by AI
  • Q10. Why is your aggregate so low in comparison to your peers?
  • Ans. 

    My aggregate is lower due to personal circumstances and challenges I faced during my studies.

    • I faced personal challenges during my studies that affected my grades

    • I had to balance work and school which impacted my performance

    • I have learned from my experiences and have taken steps to improve my skills

    • I am confident in my abilities to succeed in this role

  • Answered by AI
  • Q11. Why don’t you join your father’s business?
  • Ans. 

    I have a passion for software development and want to pursue it as a career.

    • I have always been interested in technology and programming

    • I enjoy the challenge of solving complex problems through coding

    • I want to make a difference in the world through software development

    • I believe that my skills and interests are better suited for a career in software development

    • I respect my father's business but it is not my passion

  • Answered by AI
  • Q12. How do you use your technical skills to help him in his business?
  • Ans. 

    I use my technical skills to develop software solutions that streamline business processes and improve efficiency.

    • Identify pain points in the business and develop software solutions to address them

    • Automate repetitive tasks to save time and reduce errors

    • Develop custom software to meet specific business needs

    • Integrate different software systems to improve data flow and communication

    • Provide technical support and training ...

  • Answered by AI
  • Q13. Why don’t you pursue a career in teaching?
  • Ans. 

    Teaching is not my passion, but software development is.

    • I enjoy problem-solving and creating solutions through coding

    • I have a strong interest in technology and its advancements

    • Teaching requires a different set of skills and patience that I may not possess

    • I believe I can make a greater impact in the software development industry

  • Answered by AI
  • Q14. Why Microsoft?
  • Ans. 

    Microsoft is a leader in technology innovation and provides a great platform for personal and professional growth.

    • Microsoft has a strong reputation for innovation and cutting-edge technology

    • The company offers a wide range of opportunities for personal and professional growth

    • Microsoft has a diverse and inclusive culture that values collaboration and teamwork

    • The company is committed to making a positive impact on the wor

  • Answered by AI
  • Q15. What was your role in the projects? Which technology did you use and Why?
  • Ans. 

    I played a key role in developing and implementing the project using Java and Spring framework.

    • Developed and maintained RESTful APIs using Java and Spring framework

    • Collaborated with the team to design and implement new features

    • Used Git for version control and JIRA for project management

    • Conducted code reviews and wrote unit tests to ensure code quality

    • Deployed the application on AWS using Elastic Beanstalk

    • Provided techn...

  • Answered by AI
  • Q16. Why have you not participated in any coding-competition?
  • Ans. 

    I have focused on building real-world applications and contributing to open-source projects.

    • I believe in learning by doing and building practical applications.

    • I have contributed to open-source projects like XYZ and ABC.

    • I have participated in hackathons and coding challenges organized by my university and local tech communities.

    • I prioritize building a strong foundation in software development principles and practices.

    • I ...

  • Answered by AI
  • Q17. Why have you not done an internship?
  • Ans. 

    I have gained practical experience through personal projects and freelance work.

    • I have been working on personal projects related to software development for the past few years.

    • I have also taken up freelance work and have worked on various projects for clients.

    • I believe that these experiences have given me a good understanding of the industry and the skills required to succeed.

    • I am confident that I can apply these skill...

  • Answered by AI

Interview Preparation Tips

Round: Test
Experience: It consisted of 20 questions primarily on C (What will be the output/error types). 3-4 of these questions were on basic logic, data structure, operating system etc.  30 minutes were given, which everyone found adequate. The test was not very difficult since I was thorough with books such as . Two codes were to be written, compulsorily in C. Both the questions were directly taken from the book Cracking. Question 1: A sorted array is given, but it is rotated an unknown number of times. Find an element in this array. Time complexity should be log(n).  Array example:  15, 17, 19, 50, 1, 2, 6, 8. I did not know how to do it. I tried a modified binary search but it did not work for all cases. So I just used a normal for-loop (Linear Search)Question 2: Find the in-order successor of a node in a binary tree.
Duration: 30 minutes minutes
Total Questions: 20 questions

College Name: IIT MADRAS

Skills evaluated in this interview

Top Microsoft Corporation Software Development Engineer Interview Questions and Answers

Q1. Given two words, find the similarity between them. You have to develop your own sense of similarity here. Normalize length of LCS by the total length of the string.
View answer (1)

Software Development Engineer Interview Questions asked at other Companies

Q1. Given an acyclic graph of a city where each edge represents a road in the city and each vertex represents an crossing. Write an algo to find out the minimum number of vertices at which a policemen will be kept so that all the roads are cove... read more
View answer (2)

Interview Questions & Answers

user image Anonymous

posted on 25 Aug 2015

Interview Preparation Tips

Round: Test
Experience: 15 objective questions and 2 coding questions. The objective questions were to be done in 25 minutes based on C++ and algorithms (not core subjects like OS or compilers surprisingly). 2 coding questions were:
- Mirror a binary tree
- Some question on bit-manipulation


Round: Technical Interview
Experience: There were just 2 technical rounds: Given an array with pointers to nodes of a n-ary tree with each node containing the parent Id as well. Reconstruct the original tree from the node. Also write down what the structure of the node will look like. The second round was: write a working code to merge 2 linked lists.

College Name: IIT Kanpur

Developer Interview Questions & Answers

user image Anonymous

posted on 12 Sep 2015

Interview Questionnaire 

8 Questions

  • Q1. Given a binary tree (not necessarily complete), connect a node to the node to its right (at the same level). Assume you have an extra pointer in the node to perform the connection
  • Ans. 

    Connect nodes to their right in a binary tree using an extra pointer.

    • Traverse the tree using level order traversal

    • For each node, connect its right child to the next node in the level

    • If there is no next node, set the right child to null

  • Answered by AI
  • Q2. Given a sentence, write a function, which when called, would return the first word in the string and modify the string to contain from second to the last word
  • Q3. Design an elevator system, where there are 5 elevators and 50 floors. What would be the design considerations on which elevator should come when a button is pressed on a given floor?
  • Ans. 

    Design considerations for an elevator system with 5 elevators and 50 floors.

    • Traffic patterns and peak hours should be analyzed to determine the optimal number of elevators to be in operation at any given time.

    • Elevators should be programmed to prioritize stops based on the direction of travel and the proximity of the requested floor to the elevator's current location.

    • The system should be designed to minimize wait times ...

  • Answered by AI
  • Q4. Differences between threads, processes and many such questions
  • Q5. Given two linked lists, find if they have a common node
  • Ans. 

    Given two linked lists, check if they have a common node.

    • Traverse both lists and compare each node's memory address

    • Use a hash table to store memory addresses of nodes in one list and check for matches in the other list

    • If one list is shorter, traverse it first and then start traversing the longer list from the difference in length

  • Answered by AI
  • Q6. Given an array, find if it contains a majority element. An element is a majority element if it occurs more than 50% of times. Do it in O(n)
  • Ans. 

    Find if an array has a majority element in O(n)

    • Iterate through the array and keep track of the count of each element

    • If the count of any element is greater than half the length of the array, return true

    • Otherwise, return false

  • Answered by AI
  • Q7. Given a 2 dim array, find an element which is the maximum in its column and minimum in its row. You are assured that atleast one such element exists. You may return any one if multiple such elements exist....
  • Ans. 

    Find element in 2D array which is max in column and min in row with minimum comparisons

    • Iterate over rows and columns to find max and min elements respectively

    • Compare the max element of a column with the min element of its row

    • Return the element if it satisfies the condition

    • Consider edge cases like multiple elements satisfying the condition

  • Answered by AI
  • Q8. Given an array of numbers, return the same array containing only unique elements in the array
  • Ans. 

    Return an array with only unique elements

    • Use a Set to store unique elements

    • Loop through the array and add each element to the Set

    • Convert the Set back to an array and return it

  • Answered by AI

Interview Preparation Tips

Round: Test
Experience: 1 written test + 3 rounds of technical interviews
For final offer: 3 rounds of technical interview

College Name: Veermata Jijabai Technological Institute, Mumbai [ VJTI ]

Skills evaluated in this interview

Top Microsoft Corporation Developer Interview Questions and Answers

Q1. Given a 2 dim array, find an element which is the maximum in its column and minimum in its row. You are assured that atleast one such element exists. You may return any one if multiple such elements exist. Write a code which makes minimum c... read more
View answer (1)

Developer Interview Questions asked at other Companies

Q1. Which programming language do you use regular in work
View answer (2)

SE Interview Questions & Answers

user image Anonymous

posted on 25 May 2015

Interview Preparation Tips

Round: Test
Experience: Microsoft conducted their first round of shortlisting for placements and internship. The online coding round was organized by CoCubes like last year.The test was for 1.5 hrs and had 2 coding questions. Allowed programming languages were C, C++ and Java.The questions were as follows:1) Given the head of two linked lists , find the merging point of both the linked lists. In case the linked lists do not merge then return NULL.2) Given a 2d array of 0s and 1s where 0s represent water and 1s represent land. A connected patch of 0s count as one single water body and if a water body is covered by 1s all around it then it forms one pool. Write a function to return the total number of pools in the 2D matrix. In case a water body is present on the boundary of the array immediately return -1.Sample test cases :-Input :
11111
10101
10111
11111
11111
Output : 2

Input :
11110
11111
11011
11011
Output : -1

Input :
11111
10111
10011
11011
11111
Output : 1
Duration: 90 minutes
Total Questions: 2

College Name: NA

Microsoft Corporation Interview FAQs

How many rounds are there in Microsoft Corporation interview?
Microsoft Corporation interview process usually has 2-3 rounds. The most common rounds in the Microsoft Corporation interview process are Technical, Coding Test and One-on-one Round.
How to prepare for Microsoft Corporation interview?
Go through your CV in detail and study all the technologies mentioned in your CV. Prepare at least two technologies or languages in depth if you are appearing for a technical interview at Microsoft Corporation. The most common topics and skills that interviewers at Microsoft Corporation expect are microsoft, Computer science, C++, Coding and Python.
What are the top questions asked in Microsoft Corporation interview?

Some of the top questions asked at the Microsoft Corporation interview -

  1. You are given infinite sequence of continuos natural numbers-1,2,3,4,5,6.........read more
  2. You have a cuboid (m*n*p) each block of the cuboid is having a metallic ball. ...read more
  3. Given a string of containing lower case letters and upper case characters. Find...read more
How long is the Microsoft Corporation interview process?

The duration of Microsoft Corporation interview process can vary, but typically it takes about less than 2 weeks to complete.

Tell us how to improve this page.

Microsoft Corporation Interview Process

based on 375 interviews

Interview experience

4.2
  
Good
View more

Interview Questions from Similar Companies

Accenture Interview Questions
3.8
 • 8.1k Interviews
IBM Interview Questions
4.0
 • 2.3k Interviews
Oracle Interview Questions
3.7
 • 846 Interviews
Google Interview Questions
4.4
 • 823 Interviews
Amdocs Interview Questions
3.7
 • 514 Interviews
Dell Interview Questions
4.0
 • 386 Interviews
Cisco Interview Questions
4.1
 • 370 Interviews
SAP Interview Questions
4.2
 • 283 Interviews
Adobe Interview Questions
3.9
 • 233 Interviews
Intel Interview Questions
4.2
 • 214 Interviews
View all

Microsoft Corporation Reviews and Ratings

based on 1.7k reviews

4.0/5

Rating in categories

3.9

Skill development

4.0

Work-life balance

3.9

Salary

3.5

Job security

4.0

Company culture

3.4

Promotions

3.7

Work satisfaction

Explore 1.7k Reviews and Ratings
Software Engineer
1.6k salaries
unlock blur

₹16 L/yr - ₹50 L/yr

Senior Software Engineer
1.1k salaries
unlock blur

₹25 L/yr - ₹96 L/yr

Software Engineer2
1k salaries
unlock blur

₹20 L/yr - ₹72 L/yr

Software Developer
762 salaries
unlock blur

₹14 L/yr - ₹50.4 L/yr

Consultant
600 salaries
unlock blur

₹13 L/yr - ₹36.7 L/yr

Explore more salaries
Compare Microsoft Corporation with

Google

4.4
Compare

Amazon

4.1
Compare

Deloitte

3.8
Compare

TCS

3.7
Compare
Did you find this page helpful?
Yes No
write
Share an Interview