Skip to main content

Microsoft Software Engineer Interview Questions

Review this list of 49 Microsoft Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Microsoft logoAsked at Microsoft 

    "In 2019, I was given a very important problem to solve. In a team of 3 we had to build a mobility assist device. The customer segment we would go for was something we could decide. The project was very close to me as I had lost someone I loved because of cancer and I saw how reduced mobility was a huge pain point in not being able to do physical activities. My team could only think of elderly people as the main target market. As the Head of Product what I did was: 1) I helped them dive even d"

    Soumya S. - "In 2019, I was given a very important problem to solve. In a team of 3 we had to build a mobility assist device. The customer segment we would go for was something we could decide. The project was very close to me as I had lost someone I loved because of cancer and I saw how reduced mobility was a huge pain point in not being able to do physical activities. My team could only think of elderly people as the main target market. As the Head of Product what I did was: 1) I helped them dive even d"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Microsoft logoAsked at Microsoft 

    "Let me try to explain it with simple life analogy You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster. In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."

    Praveen D. - "Let me try to explain it with simple life analogy You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster. In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Microsoft logoAsked at Microsoft 
    Video answer for 'Implement k-means clustering.'

    "i dont know"

    Dinesh K. - "i dont know"See full answer

    Software Engineer
    Analytical
    +5 more
  • Microsoft logoAsked at Microsoft 

    "int reverse(int x) { int rev = 0; bool isNegative = false; if(x 0){ int r = x % 10; rev = rev * 10 + r; x = x / 10; } if(isNegative){ return -rev; } return rev; } `"

    Nilay B. - "int reverse(int x) { int rev = 0; bool isNegative = false; if(x 0){ int r = x % 10; rev = rev * 10 + r; x = x / 10; } if(isNegative){ return -rev; } return rev; } `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Microsoft logoAsked at Microsoft 

    "I told a story about how our team was focussed on moving a key metric i.e. NPS and to do that we build 3 top requested user feature. Post release the detractors % didn't move even though the detractors request for features shipped went down. Then I connect with users and did some analysis post which we realised that we need to pivot our focus from shipping features to enabling complete workflows for our users i.e. shipping all those feature which are used together in a feature as then only users"

    Aditya S. - "I told a story about how our team was focussed on moving a key metric i.e. NPS and to do that we build 3 top requested user feature. Post release the detractors % didn't move even though the detractors request for features shipped went down. Then I connect with users and did some analysis post which we realised that we need to pivot our focus from shipping features to enabling complete workflows for our users i.e. shipping all those feature which are used together in a feature as then only users"See full answer

    Software Engineer
    Behavioral
    +1 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • "Abstract class A class that can have Abstract methods - without implementations and Concerete Methods i.e with implementation. Can have private, protected and public access modifiers. Supports Single inheritance i.e a class can extend only 1 abstract class Can have constructors Mainly used when sharing common behaviors Interface Class A collection of abstract methods ( can have static and default methods also - onwards of java 8) Public, static, final are the access"

    Sue G. - "Abstract class A class that can have Abstract methods - without implementations and Concerete Methods i.e with implementation. Can have private, protected and public access modifiers. Supports Single inheritance i.e a class can extend only 1 abstract class Can have constructors Mainly used when sharing common behaviors Interface Class A collection of abstract methods ( can have static and default methods also - onwards of java 8) Public, static, final are the access"See full answer

    Software Engineer
    Coding
    +2 more
  • Microsoft logoAsked at Microsoft 

    "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"

    Anonymous Starfish - "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"See full answer

    Software Engineer
    Behavioral
  • Microsoft logoAsked at Microsoft 

    "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"

    Vikash A. - "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"See full answer

    Software Engineer
    System Design
    +1 more
  • Microsoft logoAsked at Microsoft 

    "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"

    GalacticInterviewer - "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"See full answer

    Software Engineer
    System Design
  • Microsoft logoAsked at Microsoft 
    +1

    "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"

    Sambangi C. - "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"See full answer

    Software Engineer
    Coding
  • Microsoft logoAsked at Microsoft 

    "First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently. Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"

    Stanley Y. - "First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently. Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Microsoft logoAsked at Microsoft 

    "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"

    Anonymous Wombat - "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Microsoft logoAsked at Microsoft 
    +7

    "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"

    Piyush D. - "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"See full answer

    Software Engineer
    Behavioral
    +2 more
  • "Microsoft's mission is to empower every person and every organisation on the planet to achieve more. I am always inspired by helping others to achieve more by participating to different volunteer and mentorship experiences like Microsoft Student Ambassador, and GeeksForGeeks student ambassador, and I have also created and shared a free competitive-programming guide which once reached more than 700 stars on github, that enables students and professionals to join Microsoft like Microsoft, that hav"

    Davide P. - "Microsoft's mission is to empower every person and every organisation on the planet to achieve more. I am always inspired by helping others to achieve more by participating to different volunteer and mentorship experiences like Microsoft Student Ambassador, and GeeksForGeeks student ambassador, and I have also created and shared a free competitive-programming guide which once reached more than 700 stars on github, that enables students and professionals to join Microsoft like Microsoft, that hav"See full answer

    Software Engineer
    Behavioral
  • " I have told about the challenge I have faced while designing the Automation Framework for Angular and React website and why we have to use 1 library puppeteer sharp over selenium e.g. we need to handle the asynch calls correctly when an object is selected in the UI and result is awaited for it."

    Kanwal jeet singh L. - " I have told about the challenge I have faced while designing the Automation Framework for Angular and React website and why we have to use 1 library puppeteer sharp over selenium e.g. we need to handle the asynch calls correctly when an object is selected in the UI and result is awaited for it."See full answer

    Software Engineer
    Technical
    +2 more
  • Microsoft logoAsked at Microsoft 
    +1

    "Ask Follow up Questions Is this for specific type of user or open? Do we have any past research that has been done? Do we have an idea of company and user goals? Do we have metrics of success? Are there any existing constraints? Why  |  5 min Why is this product or feature important? How does this product benefit customers? What business opportunities does it create? What is our hypothesis? What are our company goals? Who  |  3 min Who are the different types"

    Ben G. - "Ask Follow up Questions Is this for specific type of user or open? Do we have any past research that has been done? Do we have an idea of company and user goals? Do we have metrics of success? Are there any existing constraints? Why  |  5 min Why is this product or feature important? How does this product benefit customers? What business opportunities does it create? What is our hypothesis? What are our company goals? Who  |  3 min Who are the different types"See full answer

    Software Engineer
    Product Design
    +1 more
  • Microsoft logoAsked at Microsoft 
    +1

    "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"

    GalacticInterviewer - "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Microsoft logoAsked at Microsoft 
    +7

    "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"

    Tiago R. - "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Microsoft logoAsked at Microsoft 
    Software Engineer
    Behavioral
    +1 more
Showing 21-40 of 49