Top 50 Microsoft Software Development Engineer Interview Questions

Hello guys, if you are preparing for Microsoft Software Development Engineer interview or in general preparing for FAANG coding interviews and looking for common interview questions for practice then you have come to the right place. Earlier, I have shared best Coding interview courses and books and in this article, I am going to share you some of the frequently asked questions from Microsoft. Most of the things depending upon for which position you are going like technical analyst, software engineer, Java developer, web developer or internship. If you have a computer science degree and if your job involves coding then you can expect following questions, which are mainly collected from engineers who has appeared on on and off campus interviews.


You may expect some more questions depending upon your experience like if you are 5 years experience Java developers then be ready for some tricky questions on concurrency, multithreading and JVM internals.

If you are a web developer which 2 to 3 years of experience then you could expect some HTML, CSS, JavaScript and jQuery questions. But, if you are a computer science graduates then main focus will always be on data structure and algorithms e.g. array, string, binary tree etc.

This article is divided into two section, first sections contains theoretical questions which you can answer but doesn't required coding, and second section is for coding questions, where you need to write code to solve the problem.


Theory and concepts based Questions for Microsoft Software Engineers

There are ways some questions which are based upon knowledge, facts and concepts. In this section, you will find questions based upon Data Structure and Algorithm, UNIX commands, Software design, programming languages like Java and C++, puzzles, design patterns, SQL queries and other miscellaneous topics. You can answer this questions without writing code. 

1) Explain difference between hashing and quadratic probing? (answer)

2) Design a Reservation System? design database, testcase etc? (answer)

3) Explain Observer design pattern? When you do you use it? (answer)

4) Given three tables students(sid), class(cid) and a joining table students_class(sid, cid), find all students taking no class. (answer)

Be prepared to solve the query with multiple ways e.g. subqueries and joins, interviewer may ask you to do it other way. 

5) Design an online e-commerce website like Amazon, Flipkart. (answer)

6) How do you kill a process in UNIX? (answer)

7) How do you check memory utilization of certain process in UNIX? (answer)

8) How do you find which process is taking highest CPU? (answer)

9) How 4GB process can run on 2GB of RAM? (answer)

10) Explain Huffman Coding? (answer)

11) What is Run length encoding algorithm? (answer)

12) How to find all the process created by a particular user? (answer)

13) How to find the largest file in file system? (answer)

14) how to find the count of a particular word in a file? (answer)

15) How do you store 2-dimensional array in database? (answer)

16) How do you go about storing N-dimensional array in database? (answer)

17) How to search a record by its name field when there are billions of records? (solution)

18) What is difference between static and dynamic binding? (answer)

19) What data structure will you use to find the unique words and the number of times the word appear in a novel. You can also expect follow-up - print top 10 characters appearing most in novel, hint use Trie

20) How a hash table works? explain insertion and retrieval of a key value? (answer)

21) Which data structures will you use to implement LRU and LFU caches?

22) What is difference between calloc() and malloc() C functions? (answer)

Malloc just allocates memory and calloc also initializes it.

23) Difference between REST and SOAP Web Services (answer)

24) How do you design a Vending Machine in Java? (solution)

25) How do you design a Trade Position Aggregator in Java? (solution)

26. Regular Expression Matcher which can match a text with a pattern.

Top 50 Microsoft Software Development Engineer Interview Questions



Coding Questions for Microsoft SDE Interviews

In this section, you will find questions for which you need to write code. You either need to write pseudo code, or full fledged program and function to demonstrate your logic. Most often programming language is not a problem, you can use C++, C, Java, Python, Ruby, JavaScript or any language of your choice. Key thing is to make sure you explain the logic clearly to interviewer. 

1) How to print mirror image of a binary tree? (solution)

2) How to find the highest occurring character in a character array? (solution)

3) Given a dictionary, find all the words which are anagram of each other? (solution)

4) How to remove duplicates from a sorted array? (solution)

5) Given an expression 6*2+11/3 , write a function to evaluate the expression? (solution)

hint : You can make a tree and traverse in postorder.

6) How to find all numbers in an array whose sum is equal to given number (solution)

7) Given a binary tree BT1 with millions of node and another binary tree BT2 with hundreds of nodes, How do you find if BT2 is subtree of BT1? (solution)

8) Write a program to find longest common substring? (solution)

9) How to you reverse a sentence word by word? (solution)

input : this is Java

output : java is this

10) Given a number, find the next greater number which has same set of digits, for example if given number is 4765 then output should be 5467? (solution)

11) Write a program to exchange the kth node from start with kth node from end in a singly linked list? (solution)

12) Write a program to reverse the linked list in Java? (solution)

13) Write a program to add two linked list? (solution)

14) Check whether given Strings are anagram of each? (solution)

15) Given three strings s1, s2 and s3. Write a function that checks whether s3 is an interleaving of String s1 and s2. A String s3 is said to be interleaving of s1 and s2, if it contains all characters of s1 and s2 and order of all characters in individual strings is preserved.

16) Given a binary tree and a number n, find the root to leaf branch whose sum equals to n. (solution)

17) How to find the minimum element in the rotated array of integers? (solution)

18) Find maximum contiguous sub array sum in a given array of integers? (solution)

19) How do you find a missing element in a sorted array of numbers from 1...N? (solution)

20) How do you find duplicate elements in unsorted array? (solution)


That's all in this list of frequently asked question from Microsoft Software Developer Engineer interview . You may be asked some specific questions based upon your experience or what you have mentioned in your resume e.g. if you have some web development experience then ready for some HTML 5, JavaScript and jQuery interview questions and if you have mentioned some work with mobiles and smartphones then you can expect some questions on Android, iOS and Objective C. If you are applying for Java developers them be ready for some nasty concurrency interview questions, JVM internals and performance tuning. 


No comments:

Post a Comment

Feel free to comment, ask questions if you have any doubt.