Interview ProcessTest → programming round → case study round → Technical Interview → HR Interview
No. of Questions
30 MCQs questions
Some companies don’t make any strict regulations regarding the language in question, but Microsoft always goes with C/C++. The questions are similar to what you would find in books like “Let us C”. Questions regarding pointer manipulation, predicting the output, pre-order postorder increment decrement, structures, arrays formed the majority. · These are their favourite areas of computer science that they choose to focus on. That being said the questions asked in this section were quite few. Maybe 5 or less than that. Questions regarding like memory allocation in OS, preferred data structure for a particular application, properties of database management systems made it in
Once you clear the aptitude you become eligible for the programming round. This round has two questions meant to be solved in C. The focus is on the following aspects and in this particular order:CorrectnessOutput is correct for the given test cases Completeness Output is correct for all the test cases Time Complexity The program has the specified time complexity or less Space Complexity The program does not occupy too much excess space
You don’t have to write the entire programs just the necessary functions to perform the tasks given. The results were declared after a few days when Microsoft visited.
Question1 - Find an element in a rotated sorted array in O(log n) time. For ex. Find 4 in 7 8 9 1 2 4 5
Question2 - With a parent pointer in every node of a binary tree, find the in order successor of a given node. I solved both of these questions, yet my solution for the first one used some amortized amount of time (amortized time is time that is not significant enough to affect the order, that is log n, but it is not too insignificant to be ignored as constant) more than the required time constraint which had me worried a little
case study round
People who barely managed to get their output right in the last round were eligible for this round. I don’t have details about how this round was conducted since I wasn’t part of it but it is pretty standard procedure, the same kind of GD or case study that happens in most companies
- Question 1: : While I read the resume go ahead and introduce yourself. Write Answer
- Question 2: : Questions about DSA and DBMS Write Answer
- Question 3: Write code for the subtitle syncing application you talked about, not the entire thing, just the crux of it. Write Answer
- Question 4: Write code for designing the ADT (Abstract Data Type) for all the classes that might be required to represent the game of chess Write Answer
Keep it real. Say stuff that is good about you AND makes you a good candidate for the job. You never have more than 3-4 minutes for such questions so focus on conveying what is most important. After general introductions, I talked about how passionate I am about programming and technology in general, how I didn’t just see it as a subject or a career option but something that I enjoyed doing and have successfully used in my daily life. Talk about what values and work ethics you believe in. End it with what qualities you have as a person or as a possible employee. Please note that you should not leave the interviewer on just your words to believe on. Give short descriptive examples to support what you are saying but don’t go on telling long boring stories I gave the required answers. I am not elaborating on this part since this is something that you can answer just by knowing your stuff. It was nothing out of the ordinary but it wasn’t all that easy. DSA and DBMS were among my favourite subjects so I did pretty well. I wrote the code since I had actually made the application. This is an important question where he was testing whether I told the truth or not earlier. So whatever happens do not lie or make up even a single detail while explaining something, you never know what might come back to haunt you Write code for designing the ADT (Abstract Data Type) for all the classes that might be required to represent the game of chess Me: This was the kind of question that I wasn’t expecting. Also the reason I got this question was that I had mentioned chess in my hobbies. So keep in mind every small thing you put in your resume matters a lot. He allowed me to choose my language of choice so I began with Java and then I did the important part
Why Microsoft?- Give some answer that is well thought and prepared beforehand.
You left Barclays for Microsoft? -Basically what they wanted to know here is that I don’t have the same plans for Microsoft. I told them Barclays was an investment bank and while I was fortunate to get a chance to work in that great environment I want to start my career in a product based company so Microsoft (Microsoft is becoming a service based company now BTW) Note: If you have done internship somewhere else and have rejected an offer from there, say only good things about your previous employer. Anything else will reflect badly on you.
What makes you better than you colleagues? - Whatever nice things you can say about yourself, everything comes here. Don’t, however mention the negative points of your colleagues, in hopes of making yourself look good. It will only make you look bad.
Write the artificial intelligence logic in code for your Chess representation- Now the fact that this question was asked in HR rather than Tech should give you an idea about the real purpose of this question. When this question was asked we didn’t even have AI as a subject yet. The interviewer knew beforehand that I could not code this. He wanted to see how I would handle it. So after thinking for a few minutes I decided to draw flow charts and map out scenarios