Hello guys, if you are preparing for Microsoft's Software Development Engineers interview and looking for some good resources for your preparation then you have come to the right place. In this article, I am going to some

If you are preparing for Microsoft Interview then these questions can give you some idea about the level of knowledge you need to clear the interview.

Regarding how to prepare? You can take help from standard data structure algorithm books or you can use cracking the code interview book, which contains frequently asked questions from Google, Amazon, Apple, Facebook and, of course, Microsoft. For more comprehensive preparation see the recommended books at the bottom of this article.

Also, basic knowledge of essential data structure and algorithms is also very important and that's why I suggest all Java programmers join a comprehensive Data Structure and Algorithms course to improve their knowledge and algorithms skills.

Coming back to Software Development Engineer, Microsoft has different levels in their SDE positions like

Level 70 is equivalent to VP (Vice President) on Investment banks like Citi, Morgan, Barclays, and DB and equivalent to project managers and tech lead in service-based companies like Infosys, TCS, and Wipro.

Here are the 30 odd questions from various Microsoft Interviews, curated from friends, colleagues, and various sources on the internet which are mostly asked for by software developers. It includes questions on data structure and algorithms like an array, linked list, string, binary tree, stack, queue, and advanced data structure like binary heap and self-balanced trees. It also includes questions from software design like designing an ATM from scratch.

1) How do you check if a Binary Tree is BST or not? (answer)

2) How do you reverse the linked list of size n in your favorite language? (answer)

3) How do you find an element in an array of infinite size? (solution)

4) How to remove duplicates from a string, do it in-place? (solution)

5) Given a rotated array that is sorted, how do you search for an element in it. what would be the complexity of your solution? (answer)

6) How do you find the longest substring without repeated character? (solution)

7) How do you merge two unsorted arrays in Java or C++? (answer)

8) Given two linked lists that represent two big numbers (numbers that can not be stored in an int or long), write a function that adds the numbers and store the result in a third list. (solution)

9) How would you go about designing a parking lot system, how will you design the database schema, etc. (solution)

10) How do you print the last 100 lines of a big file or big string in Java or C++? (solution)

11) Suppose you are getting a Stream of words from upstream: mary, army, tea, java, goog, eat. Build a data structure to store these such that, if a query was made to search a word e.g. army, then it should return all the anagrams as well i.e. mary and army. (solution)

12) How do you clone a linked list with the next pointer in C/C++? (solution)

13) How do connect nodes at the same level in a binary tree? (answer)

14) How do you convert the leaves of a binary tree to a link list using its right pointer?(in place) (solution)

15) How to find the least common ancestor of a binary tree or a binary search tree. (solution)

16) How do you find all substrings of a given string? (solution)

17) How do you find pairs whose sum is equal to given a number in the sorted array? (solution)

18) How do you design an ATM? How do you write test cases for your solution?

19) What is Run-length encoding? Write code to implement it? (answer)

20) How do you detect the cycle in a singly linked list? (solution)

21) Given a sorted array of size n. Each element in an array is unique and lies from 1 to n+1. How do you find the missing element? what would be time and space complexity? (solution)

*frequently asked Microsoft Interview Questions*and useful books and courses to prepare for their Software Development Engineer role. I am mostly sharing technical questions which are based upon Data structure and Algorithms, and Software design. They don't put any restrictions on any programming language, which means you are free to solve these problems using C, C++, Java, or Python.If you are preparing for Microsoft Interview then these questions can give you some idea about the level of knowledge you need to clear the interview.

Regarding how to prepare? You can take help from standard data structure algorithm books or you can use cracking the code interview book, which contains frequently asked questions from Google, Amazon, Apple, Facebook and, of course, Microsoft. For more comprehensive preparation see the recommended books at the bottom of this article.

Also, basic knowledge of essential data structure and algorithms is also very important and that's why I suggest all Java programmers join a comprehensive Data Structure and Algorithms course to improve their knowledge and algorithms skills.

Coming back to Software Development Engineer, Microsoft has different levels in their SDE positions like

- 59-60 SDE
- 61-62 SDE II
- 63-64 Senior SDE
- 65-67 Principal SDE
- 68-69 Partner SDE.
- 70 - Tech Fellow or Distinguished Engineer.

Level 70 is equivalent to VP (Vice President) on Investment banks like Citi, Morgan, Barclays, and DB and equivalent to project managers and tech lead in service-based companies like Infosys, TCS, and Wipro.

__30 Microsoft Interview Questions for Software Engineers__

Here are the 30 odd questions from various Microsoft Interviews, curated from friends, colleagues, and various sources on the internet which are mostly asked for by software developers. It includes questions on data structure and algorithms like an array, linked list, string, binary tree, stack, queue, and advanced data structure like binary heap and self-balanced trees. It also includes questions from software design like designing an ATM from scratch.1) How do you check if a Binary Tree is BST or not? (answer)

2) How do you reverse the linked list of size n in your favorite language? (answer)

3) How do you find an element in an array of infinite size? (solution)

4) How to remove duplicates from a string, do it in-place? (solution)

5) Given a rotated array that is sorted, how do you search for an element in it. what would be the complexity of your solution? (answer)

6) How do you find the longest substring without repeated character? (solution)

7) How do you merge two unsorted arrays in Java or C++? (answer)

8) Given two linked lists that represent two big numbers (numbers that can not be stored in an int or long), write a function that adds the numbers and store the result in a third list. (solution)

9) How would you go about designing a parking lot system, how will you design the database schema, etc. (solution)

10) How do you print the last 100 lines of a big file or big string in Java or C++? (solution)

11) Suppose you are getting a Stream of words from upstream: mary, army, tea, java, goog, eat. Build a data structure to store these such that, if a query was made to search a word e.g. army, then it should return all the anagrams as well i.e. mary and army. (solution)

12) How do you clone a linked list with the next pointer in C/C++? (solution)

13) How do connect nodes at the same level in a binary tree? (answer)

14) How do you convert the leaves of a binary tree to a link list using its right pointer?(in place) (solution)

15) How to find the least common ancestor of a binary tree or a binary search tree. (solution)

16) How do you find all substrings of a given string? (solution)

17) How do you find pairs whose sum is equal to given a number in the sorted array? (solution)

18) How do you design an ATM? How do you write test cases for your solution?

19) What is Run-length encoding? Write code to implement it? (answer)

20) How do you detect the cycle in a singly linked list? (solution)

21) Given a sorted array of size n. Each element in an array is unique and lies from 1 to n+1. How do you find the missing element? what would be time and space complexity? (solution)

22) How do you check if a binary tree is balanced or not? How do you balance it? (solution)

23) How do you validate a given IP address? (answer)

24) Two of the nodes of a Binary Search tree are swapped. How do you restore the original BST? (answer)

25) Can you draw a circle without floating-point arithmetic? (answer)

26) You have given inorder and preorder traversals, construct the binary tree? (solution)

27) Given a string, return the length of the longest substring which comprises consecutive characters.

input: xyzdefg

Output:

4

defg

28) Given the Window of size k in an array of size n, find all the distinct element counts in those windows. (solution)

29) You have given 3 sorted arrays. Write a function to find the common element from all three arrays in O(N) time and no extra space. If there is none, return false. (solution)

30) You have given an array that has a duplicate except for two elements. Find those two elements? (solution)

That's all about the list of

**frequently asked Microsoft Interview Questions on Data Structure, Algorithms, and Software design**. Getting a Job on a product-based company is the dream of many Indian graduates but you need to prepare hard for that. Getting Job at Amazon, Microsoft, Google or Facebook has never been easy but a good understanding of Data Structures, Algorithms, Software design, and fundamentals goes a long way.

## 1 comment :

You should provide more detailed descriptions of the problems, it is not clear exactly what is expected for each question.

## Post a Comment