[ I started writing this post a few weeks back but left it midway since had better things to do. Finally got around to completing it. ]
So after 6 writtens (and one dummy), I am still without a job. The question that is playing in my mind is whether I should even take a job. Attended my first ever interview in my whole life for microsoft. Wasnt a great experience. And served no purpose :D. I usually find that successful candidates mail/blog their interview experience so that it can benefit the future generations. But, we all need to know those other stories also right? And, those who have been selected are no great bloggers. So, I am now setting upon the noble action of narrating my M$ interview. Btw, the only reason i find we need to go to the M$ here in hyderabad is for the $ i.e Rs. Anyway, rewind back to monday, 19th december of year 2005.
The presentation was in the morning around 9 i think. And it was pretty decent (doesnt come anywhere close to that of yahoo though). After that we had a written test. They had a cut off of 7.5 Cgpa. The written test was just 8 questions. The first four questions which had 4 marks each were: What is the output of a C program, a question based on probabilities, a simple puzzle and some code was given and we need to find the errors in it. The next four questions of 6 marks each were: one is to write a program for something, the next question was to write test cases for the prev program and then two algorithm questions. All in all, it was a simple test, thankfully no aptitude test and no multiple choice questions. Guess, thats why i could get shortlisted. I also dont think i had any major errors in my answers and i hadnt left any question unanswered. From the experience of various written rounds that i failed to pass through, i think that one needs to answer almost the whole paper correctly for having a chance of being shortlisted.
Out of the 60 something people, they shortlisted 20 people for the interview. The results were supposed to have been released by 2 in the afternoon, but they finally came out at 4. Guess, they needed more time then they imagined to evaluate our answers. So, all the 20 shortlisted ones including me were asked to report immediately. So, we put on those formals, carried that folder which contains the resume, gradesheets and other certificates and rushed to the specified room. There, the HR lady announced 10 names and said that only those persons would be interviewed on that day and that the others would need to come back the next day morning. So, the unlucky 10 trudge back to the hostel and wait for the next day! In the night, we hear stories about the interviews from those who had been there and done it. Only 5 people were interviewed out of that lucky 10. The other 5 had to spend all evening just waiting for their turn. This is certainly one of the worst possible ways of spending an evening.
The next day i.e tuesday, everyone in the list of 20 reported in the morning at 8:30 am except the lucky few who finished all the three rounds on the previous day. On request from the volunteer leader, the HR lady allocated timings to the people. I was told that my first interview round would be at 11. So, I went around and whiled away two hours to return at the appointed time. Going by their past record, I expected to wait for some more time before I get the chance to face the first interview of my life, but as soon as I returned the lady ushered me towards the first interviewer- Deadface.
I name him so because his face did not disclose even a single expression the whole period of the one hour that I was with him. I was pretty nervous. As I entered the room, he asked me to sit down. There was no hi/hello or any sort of greeting. I silently sat down and I could clearly hear my heart beat :D. He asked me what courses I had taken. I asked whether he meant in the current sem. He said yes. And i blurted our 'Linear Programming'. And my mind went blank. I couldnt recollect the other courses. I was desperately trying to think and at the same time keep a straight face. Somewhere, on the boundary on my memory, hovered a name 'globalisation' and i promptly named that too. Also added that it was a humanities course. I knew i had taken another course also. But, its named stayed stubbornly beyond my memory's reach. It was almost humiliating. I couldnt even recollect the courses that i am currently pursuing?? He started looking at me with some alarm :D. Just in time, I announced "topics in algorithms"! Then i tried to explain away the fiasco by saying that it was a half sem course and had not started yet :D. Then he asked for the courses I had already completed. Those, i rattled off with ease. The discussion strayed onto my areas of interest and he understood that it was AI. So, he asked why that was the case especially since AI was pronounced dead a few years back and so on. I attempted to defend by saying that I expect AI to make great progress, we can already see that in Machine Learning and that all future stuff would require some sort of AI.
Then the actual stuff began. He asked me to write the code to merge two sorted linked lists! I asked him whether he preferred a recursive version or a non-recursive one. He had no preference. So i jotted down the recursive function. That function has been my favourite ever since the DS midsem in my first year :D. I felt my heart rate was lowering down to the normal range. I finished and showed it to him in a jiffy. He asked me what the problem with recursive functions was. I explained and then he asked me to write the non recursive one. I wrote that and then he asked me how it was better than the recursive one. I answered all these pretty easily. Then he asked me a puzzle. It was quite an interesting one. As he started explaining the puzzle, he inquired whether i had already heard it. I didnt. I solved the puzzle but it required four steps. He asked me to do it in three. I was thinking but didnt get much ahead. So, he gave me a hint but his choice of words led me to believe that he was changing the problem statement. After clarification, however i utilised the hint to come up with the optimal solution. Then he moved onto asking questions about passing by values and reference and so on which I could tackle easily. The hour was over before I realised and he said 'thankyou' . I left him. All through the interview, my major problem was that i couldnt figure out from his countenance whether he considered my answers to be right or wrong. As i said earlier, his face was an expression-less one. :D
I came out and chatted with other aspirants and soon it was time to face another interviewer. This person welcomed me with a smile and also greeted with a 'hi'. He asked me to tell about myself. I cheekily asked him whether he wanted it to be limited professionally or even about my personal life. He obviously said professional and i started with my third year, described some of my projects, and my interests. Also mentioned about RoboCup, my TAships and programming contests i.e ACM. He summarised it all by saying that my interests are AI, Data-mining, Algorithms and Data-Structures in that order. I nodded. So, he very sweetly asked me what 'deadlock' was. OS? Anyway, i told him in general terms what it was. He asked me to be more technical and also asked how i would find whether there was a deadlock. I did not rememeber anything about it as I had no preparation whatsoever for the interviews and my OS concepts were long lost and forgotten :D. So i did not remember about the resource allocation graph thing. I just blabbered on about it in general terms. He moved on and asked me to implement quicksort without recursion. I thought for a moment and told him the method. He asked me to write it down. And so I did. Meanwhile he went out and came back. I just finished and didnt check through the code. He assumed i finished and went through it. I explained the code to him. He kept looking at it for 5 minutes. Then, he asked me to write blackbox testcases for it. I did that. Then he asked me to make the program crash. I went through the code and came up with the input for which it would crash :D. It was a small condition which wasnt handled. He asked me to fix that which I did. Then he asked me what would happen if a null array was passed and asked me to handle that condition also. I did that also. He then asked whether I had any questions for him. I said no to which he replied as 'Come on man, ask something, atleast ask about me' :D. So, I asked what he did at m$ and for how long he had been there. He told that he had been at IDC since it was setup in 98 and is working on some mobile thing. I then asked him another question related to the interview process. I asked him what he was doing on the laptop while i was thinking of the solution or writing the code. He laughed and said that he wasnt doing any other work as I may have thought but was noting down his observations about me. And with that we bid goodbye to each other.
I came out and resumed chatting with my friends. I was informed that many people had already been sent away after their first round. The HR lady came and told us all to go for lunch and return at 2:30. So, we returned at the time. Till then more than 5 people did not have even a single interview round. The others either completed all rounds and awaiting the results, or were shown the door or were still in the process like me. After lunch, as i went in, the HR lady called me and asked me to be seated. That was a clear signal that I was being booted out of the process and that I havent done well enough to be considered for the third round of the interview process. As soon as she asked me to be seated it was pretty clear that i was out. I had heard and even seen how she was breaking the bad news to others. So, when she told me to sit down, i pretty much wanted to just walk out. But she dillydallied for 5 minutes by asking how i felt the interview was, whether the questions were difficult and so on. She then told the news. She was acting as if she was really sorry and tried to comfort by saying that i could apply in 6 months off-campus. I wanted to tell her that i would certainly not apply again but refrained for fear of prolonging her monologue. She gave the same reason for my rejection as she was giving to the others i.e basics need to be improved and so on.
And so ended the first and last interview in life (as of now). When would i next attend an interview process? Hopefully not any time soon. And what did I learn from the whole experience? Nothing much :D.
So after Adobe, Google, Microsoft, De-Shaw, Yahoo and CA (and Novell as a dummy), I am without any offer and it doesnt concern me at all now :). The process has only made my resolve of going for futher studies stronger :D. [this post is not edited ... so dont comment about any errors if any :D]