There were a total of 3 rounds. 1st was online coding, 2nd was written coding and last round was divided in three parts, basically 3 Technical Interviews.

**Round 1:**

**Online test on CoCubes contains 3 Coding Questions (Only Function to complete). Total time given was 75 minutes.**

- Find the average of sum of ASCII values of all the characters in a string. Eaxmple:
- Evaluate the value of an infix string. The string will not have any spaces or brackets and priority of ‘*’ and ‘/’ is greater then the priority of ‘+’ & ‘-‘ . Examples:
- Given a BST, a min value and a max value, delete the nodes of the BST having data smaller than min value and greater than max value. Example:

Input : swati Output :110.4 LOGIC: (115+119+97+116+105)/5= 110.4

Input : 5+10/2*6-3 Output :32 LOGIC: 5+5*6-3 = 5+30-3 = 35-3 = 32

Input :10

/ \

8 13

/ / \

2 11 15

minValue= 3 maxValue= 13 Output :

10

/ \

8 13

/

11

The online round was easy as they were looking whether the basic concepts of students are clear or not. A total of 109 students sat for the online rounds out of which 31 qualified for the next round.

**Round 2: **

**Written Test had 2 questions and total time given was 45 minutes.**

- Given an array and a key you need to rotate the array elements ‘key’ times. Example:
- Given a string you need to print all its sub strings

in lexicographic order. Example:

Input 1: arr[]= [1, 2, 3, 4, 5, 6] key=2 Output : [ 3, 4, 5, 6, 1, 2] Input 2 : arr[]= [1, 2, 3, 4, 5, 6] key=24 Output : [1, 2, 3, 4, 5, 6]

Input : ABC Output : A AB ABC AC ACB B BA BAC BC BCA C CA CB CAB CBA

Write a lot of comments to make your program more and more readable. Make sure your work is neat and try to write the code that is most optimized and uses least space. But if optimized code doesn’t strike you write the logic you can think of. After this round 14 students were selected for the 3rd round.

**Round 3:**

**This round is divided into 3 Technical Interviews. **

**Technical Interview 1: **

**Subjective Questions:**

- How can you implement a virtual destructor ?
- Which is better for traversal array or link list ?
- What is difference between recursion and function looping?
- What features do you think can be added or modified in MS Word ?
- Practical uses of Stack.

**Coding Questions:**

- Given a decimal number, convert it to its equivalent roman number.
- Given first n natural numbers in an array, it is said that one number is missing. Write a code to find the missing number.
- Given first n natural numbers in an array, it is now said that two numbers are missing. Write a code to find the missing numbers.

When I got my first question from OOPs, I told the truth to the interviewer that I have not yet studied OOPs and requested him to ask questions from Data Structures. At the end he asked me if I had any questions for him, so I asked him to review me as a candidate for their company and which concepts I need to learn and improve. Apart from these questions we had a conversation about my college and what advice he would like to give to all the students aspiring for a technical job in any MNC( not necessarily Microsoft only).

**Technical Interview 2:**

**General Questions:**

- Why Microsoft should hire you? What makes you different from other candidates shortlisted for the interview?
- He asked about my summer internship and the projects I had mentioned in my CV.
- Asked the difference between stack, queue and link list and also which is better.

**Coding Question:**

- Given a list of strings find the maximum length string which is made up of the combination of other strings in the list.

Input :[Information, Technology, Batchof2020, InformationTechnology, Batchof2020InformationInternship] Output : InformationTechnology Note:"Batchof2020InformationInternship" is the longest string but its has a sub string Internship which is not a string in the given list, hence its not the output.

**Technical Interview 3:**

In this round, the interviewer went through my whole CV thoroughly and asked me about my hobbies of which debating was the most highlighted one. So he had a pseudo debate cum discussion with me on the role of a good speaker.

After that we played a word guessing game, I don’t remember the name of the game. He basically explained the game to me and told me about all the rules. After playing the game he told me to write the code for the game and that it will be my last question for the day. I wrote the code in 4-5 minutes. He seemed satisfied with the code and wished me Best of Luck!

This was the end of Selection Process and approximately 10 minutes after I was told that I am selected 😀

It was my first interview experience and I got selected! The 10 hour long process ended giving me the best opportunity of my life.

This article is contributed by Swati Bararia.

## Recommended Posts:

- Microsoft IDC Interview Experiences (On Campus Internship)
- Calculate the total fine to be collected
- Inorder predecessor and successor for a given key in BST | Iterative Approach
- Microsoft IDC Interview Experience | Set 168 (Off-Campus for Internship)
- Microsoft Interview Experience | Set 164 (On-Campus for Internship)
- Microsoft Interview Experience | Set 157 (On-Campus)
- Find Two Missing Numbers | Set 1 (An Interesting Linear Time Solution)
- Microsoft IDC Interview Experience | Set 79 (For Internship)
- Microsoft Interview Experience | Set 60 (On-Campus for Internship)
- Binary Search Tree | Set 2 (Delete)
- Remove BST keys outside the given range
- Given a sequence of words, print all anagrams together | Set 2
- Implement two stacks in an array
- Program for array rotation
- Find the Missing Number

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.