1) Check if a Binary Tree is BST or not – Practice here

2) Remove duplicates from a string, do it in-place – Practice here

3) Given a rotated array which is sorted search for an element in it – Practice here

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

Variations of above question like subtract two numbers or multiply two numbers represented by linked lists. – Practice here

5) Print last 10 lines of a big file or big string.

6) Clone a linked list with next and arbitrary (or random) pointer

7) Connect nodes at same level. Practice here.

8) Least common ancestor of a binary tree or a binary search tree

9) Test case questions like test an ATM.

10) Run length encoding. – Practice here

11) Detect cycle in a linked list. Practice here.

12) Given a sorted array of size n. Each element in array is unique and lies from 1 to n+1. Find the missing element. Write code and test cases for the same. – Practice here

13) Check if a binary tree is balanced.

14) Validate a given IP address

15) Why do you want to join Microsoft? (See discussion here)

16) Two of the nodes of a BST are swapped. Correct the BST

17) Draw a circle without floating point arithmetic

Also see:

- Microsoft’s most frequently asked interview questions | Set 2
- Microsoft Interview Experiences
- Microsoft Practice Questions
- Top topics for Interview Preparation

**Please write comments if you find something missing. **If you like GeeksQuiz and would like to contribute, you can also write an article and mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.