Microsoft gives an opportunity to all undergraduate and postgraduate students for 2 months summer internship program. The basic criteria to apply for Microsoft internship program were to have CGPA greater than 7.0, no pending backlogs, and candidates should not have participated in the Microsoft internship hiring process for the last one year.
Round 1- Coding Round
There was a coding round conducted by Microsoft on mettl.com. which consisted of 3 coding questions and the time limit was 90 minutes.
1. Find the Majority element in an array. A majority element in an array A of size n is an element that appears more than n/2 times.
2. Find the Kth largest element in an array.
3. Given inorder and preorder traversal and number of nodes of a binary tree, find the minimum height of the tree.
Round 2- Virtual Interview or Video Interview
Firstly I was asked to introduce myself. Then the following questions were asked :
1. What is Polymorphism?
2. Difference between overloading and overriding?
3. What are Runtime and compile-time polymorphism? Explain with an example. And what are the conditions under which they occur?
4. Clone a binary tree. Write a pseudo code for it.
5. Clone a binary tree with random pointers and write pseudo code for it.
Round 3-Onsite Technical Interview
I was asked to introduce myself.
1. Print first n elements of a Fibonacci series using the iterative method and then with recursion.
2. Find the minimum and maximum element in a binary tree.
3. Given a matrix if any element of the matrix is zero initialize that row with the value zero.
4. Difference between the linked list and Array.
5. Which searching algorithm I use in the linked list. Find the kth element in a linked list.
I was told to write code for each of the above questions and make test cases and in case of recursion, I was asked to draw the recursion tree as well. Additionally, I was asked to dry run each code.
6. What is Interface( OOPS )?
7. What is Multiple inheritances and what are its applications?
8. Design an E-Commerce website.
It was the final round and firstly I was asked to introduce myself. And the following questions were asked thereafter.
What are the subjects you have studied till now in your college and which subject interests you the most? (I said Data Structure)
1. Given two very large numbers(number of digits more than 100) write a code to multiply both the numbers.
2. What do you know about Microsoft?
3. Why should we select you as an intern?
4. What are your strengths and weakness?
5. Where are you from? Tell something about the city you belong to?
6. Tell something about your previous interviewer?
7. I was asked to tell my experience of being interviewed at Microsoft.
Be prepared for Operating System Concepts as well. They were asked to other candidates. Mainly focus on DSA, OOPS, OS, and project-based questions.
Every round was an elimination round, even the Techno-HR.
Note:- The interview experience was quite good and they focused on all the core concepts of computer science subjects. Keep calm and stay polite. Be honest and try to keep your approach clean. Don’t think about the results, just enjoy the interview process with a free mind. GeeksforGeeks was a lot helpful to me for building concepts and for my interview preparation.