In this article I will describe my recent Microsoft Interview Experience. Microsoft has opened a new center in Belandur Bangalore. I directly got a call from them to come for an interview with them. I had to reschedule my interview twice as I was sick on the day of my first interview and got stuck with some personal work the second time.
So, I showed up on their office after rescheduling my interview twice. The office was pretty and all the floors are occupied by Microsoft. Upon reaching there I called up my recruiter and she asked me to take a visitor pass from the reception and asked me to go to the respective floor where the interviews will be conducted.
I took my pass and took the lift to that floor. Upon reaching I called up the recruiter again and she showed up with a smile and escorted me to the pantry. She asked me if I had my breakfast and told me to grab some food from the pantry. I told her that I already had my breakfast and not feeling hungry.
She then asked me to sit on the sofa and told that the interviewer will come shortly. After about 5 mins, the interviewer came and I went with him to the interview room.
We then introduced each other and he asked me to write a program. I will not be disclosing the questions as similar questions are available on lot of websites.
As I did not solve that question before, I discussed various approaches to solve it and finally settled down with a recursive solution. He then asked me to write the code for the same. I wrote the code neat and clean and tested the same with some inputs.
He said that it looked good. As we had still some time left, he asked me another question and simply asked me the approach. It was a simple trick question. I almost got it correct in the remaining time and he said that it's OK and the first interview ended.
He asked me to sit in the pantry again. I went to the rest room and after that sat in the pantry again. There was a big fridge full of juice and soft drinks. Varieties of fruits were also kept on the slabs. I went to the coffee machine and took some milk. Did not have much appetite for fruits and juices.
Meanwhile, the second interviewer came and greeted me with a friendly smile. We went inside the interview room. He asked me to sit and went to take some paper and pen. We then introduced each other. He has been in Microsoft for quite some time.
He then asked me a question which is related to the work he is currently doing at Microsoft. He told me that he will keep the question very simple at first and would build upon that as we dive deep.
I quickly came up with a good design of the classes we needed and then discussed my approach regarding the algorithm we needed to implement.
He then added some more constraints and asked me to code it. I coded it up fairly quickly and then discussed the complexity. As the solution was Optimal, he moved to the next question which was basically a follow up to the first question and I was supposed to design a data structure.
It took me some time to come up with an efficient data structure on the spot and after some discussions, I came up with a relatively complex data structure which solved the purpose. But after some observations found out that we could manipulate the Trie data structure to achieve the same.
He then asked me if I had any question. I asked him regarding his day to day work. The technologies that he has been using in his current project etc.
He then asked me to sit in the pantry again. The recruiter came to me and handed over a lunch coupon and told me that remaining rounds will be after lunch. She also informed that the second interviewer would come and take me to lunch with him.
After some 10 minutes, the interviewer that I talked to in the second round came and we headed off for lunch. The cafeteria was in the ground floor and the ambiance was awesome. There were different counters for Chinese, North Indian, South Indian etc.
We headed to the North Indian counter. I gave my lunch coupon and he swiped his card as 100 Rs/- is added to the card of each employee for food. We took the food and sat on a nearby table.
The food was pretty good. But he insisted that it was even better in the earlier office. We discussed about the Cab facility that Microsoft provides and he told me that it was pretty good. He takes the cab at 8 am in the morning as he commutes from Indra Nagar and it takes him half an hour to reach office as there is less traffic at that hour.
He then takes the 4:30 pm cab in the evening and reach home by 5 pm. This routine saves him a lot of time. He can spend the time with family which would have been spent in traffic otherwise.
We also talked about the projects that are going on in the Bangalore IDC. After we finished our lunch, we again went back to the same floor and he asked me to wait in the pantry.
After around 20 mins, the third interviewer came looking for me and we went to the interview room. He told me that it's going to be a design round with some focus on data structure.
He asked me to design and implement a standard design pattern. After I wrote the code, he asked me a question which is a clever manipulation of the design that I just implemented. There was a lot of discussion regarding the approach and complexity.
After that we moved to the next question which was a bit complicated and I came up with a cache based design using a Trie and and a Heap.
We were done with the interview and I asked him regarding the cloud technologies that they are using for the projects. He answered them in great detail and we were done with the interview. He then asked me to sit in the pantry again.
After 10 mins, the fourth interviewer came and fourth round started. He told me that it will be a design round and asked me to draw the architecture of my current project on the white board. There was a lot of discussion on the pros and cons of the design and what can be done to improve the same.
He then asked me to design an API which would be accessed by millions of users taking security, scalability, availability etc. into account. There was a lot of discussion on the approach, sharding, CAP theorem etc. I also gave him the example of the Diego architecture used by Cloud Foundry which was somewhat related to the approach we were discussing.
After that there was lot of discussion regarding Fault tolerance, Bulk heads, Time outs etc. It was a long round and I felt exhausted. After this, there was some behavioral questions as well and once the round was over he asked me to sit in the pantry again.
I headed straight to the Fridge, took out an Amul cool, and emptied it in no time. I went to the wash room and when I came back, I saw the recruiter waiting for me. She told me that the next round will be the Hiring Manager round and briefed me about the round a bit.
After some 10 mins, the Hiring Manager came looking for me. We headed to the interview room. He introduced himself and asked me regarding my current project. He also asked me to draw the architecture of my current project.
We then had a long discussion regarding thread pool. He then asked me to code up a multi threaded program and I did. We then had a discussion regarding the approach I chose. We then talked about good code practices, importance of Testing and things that I have been doing in my current project to move the components to cloud.
The interview was basically over and he asked me the technologies that I enjoy working with. We had a short discussion on it and he asked me to wait in the pantry.
After some 5 mins, the recruiter came and informed that they would hire me and some person from the HR department would reach out to me.
I thanked her and came out of the building. I was having a headache and took a bus for home. So, it was quite a nice experience. The process was very professional and all the people were very friendly and welcoming.
Sharing is Caring!
RECOMMENDED POSTS FOR YOU