Wednesday, October 11, 2006

Microsoft Interview..

Sept 26th '06 9.30 am... Thats the timeslot I chose, to be interviewed with MSoft. damnnn.. i got so manyy topics to brush up OS, Algos, DS, My previous projects, OOPS, Programming what not?
Then the onus of splitting my 24 hrs bestowed on me immediately. Added, to this i had an ACN homework to be submitted on the same day as my interview.
A variety of feelings gushed inside my head...will i make it? what if i dont? how exactly wud it be to get interviewed by an american, face to face? what if he had a fast accent? And top of this, Msoft is famous for its so called "white-board" on the spot coding during interviews... I just didnt know how to tackle this..coz, this is my first interview after coming to US. All i knew was i will be having 3 one hour rounds of technical interviews.
Alrite, i wont bore u much with what i did the day before the interview lets get into the grooove :)

sept 26th - 5.30 AM: My friend Apurva, gives me a wake up call and then the clock starts ticking..every moment i told myself to stay composed and focused. Quickly done with the daily ablutions, I got ready in formals.. I was so much involved thinking abt the interview that i didnt even feel like having my breakfast. I felt, my preparation was not adequate and began to loose confidence. Just then, I would crack jokes ( bj's or gud ones i dunno, but i'm gud at these) with my friend and then we wud laugh like crazy. I could feel even he is breaking down inside. But, he always kept a smiling face. we wished gud luck and started to the hotel regency with music set at the max. volume. I know, in the end it was just a job interview and I wont loose anything if i dont make it, but given the opportunity to work for my dream company i wanted to grab it rather than slip it.

7.30 AM: we finally arrived two hours before the scheduled time for interview. I thought, I would give a quick glance through the "CLRS" but when I entered the hotel, I was embarrassed to open a book like a kid in front of so many people :) so i gave it to my frnd and asked him to hide in his bag. There we are, with nothing to do but loads of nervousness inside. So to calm down, we set on an exploration camp inside the hotel. we went through every isle, every exit and every lobby. Still we had more than an hour left.Then we, decided to go to the interview rooms which were on 31st flr ( reverse of 13!! is that a bad omen in disguise? i wondered for a second and left it).

8.00 AM:
Tension kept on mounting, I could feel the heart beat rising...then i wud say...damn its just an interview! fcuk it! we were guided into a conference room where we met the HR frm microsoft. we made ourselves comfortable by having some juice and then i thought of playing a game :)
i started interviewing apurva !! mannn it was real fun...i made him draw diagrams on white board, explain his ideas and even talked about the optimizations!! In fact, i made it as difficult as the original interview :) ! he told me that i can be a gud interviewer ,which, even i felt. prolly i shud think abt this. ;)

9.30 AM:
i was called for a technical interview with a project manager. we shook hands and the moment i stepped into the room, dunno all of a sudden, i was not at all tensed...everything got vanished..i was very confident, outspoken and very normal. he gave me 2 mins to talk abt my thesis, which i did effortlessly. then he moved onto designing the backend data structures for a jigsaw puzzle game. First, i came up with the classes, methods and tried to use all my ooad skills where he interrupted and said, "i'm more interested in data structures not the design" ...well i paused for a moment and came up with really simple data structures, which really worked and convinced him that they work. all this drama went on for arnd 45 mins..we were left with 15 more mins and then he went on asking small technical questions like "given a sorted array with duplicates , how wud u move all the duplicates to the end of the array?" i gave two solutions one with time complexity O(n) and memory space of N and the other with O(n^2) and just O(1) memory space. though he wasn't impressed very much with my solutions he was impressed by the concrete analysis i did for computing the time complexities. so overall, it went ok and i was back to the conference room with my fellow pals who came to face interviews.

10.30 am:
its time for me to relax....so what conjures up in a normal guy? ofcourse the obvious, "GALS" ;).. i looked arnd the table if theres any nice chick..damn there was only one gal out of 15 ppl and she's not at all attractive! then I thought talking to my frnd wud be a better choice than staring at her!
we discussed abt how our 1st rnd of interviews went and he told that he screwed the first one. There's this guy called marqus...this guy wud never keep his mouth shut...give him a trash-can and he wud even talk abt the technical , non-technical ,design aspects of it for an hour!! but he was fun.. he tried to keep everybody's thoughts occupied with his bullshit conversation which had no meaning...!! atleast thats better than sitting idle and feel nervous abt the second round.

11.30 am:
time for the second round...man i really screwed up this one..the whole hour i was trying to figure out coding for a puzzle which involved a monkey..!! In the end i thought, the bloody monkey made a monkey out of me..! i was so disappointed that, i didnt even want to sit in that conference room. i decided to go on for walk with my frnd in the hotel. this time again we spoke abt the interviews and he said he did ok..he tried to boost my morale and motivated me enuff that i tried to forget abt the second round and looked forward for the third round with confidence.

12.30 pm:

errr ... it was supposed to be my time for 3rd round but they were running a bit late on schedule and they decided to interview after the lunch.. i didnt even feel like eating anything..i just stared at the muffins and various fruits lying on the table "wishing of a giant TOGO bag so tht my frnds can have a gala time" somehow I passed the time..and then comes my third round

2.30 pm:
The third project manager again asked to talk abt my thesis for two mins and immediately started shooting questions based on linked lists. He asked me to code a function that swaps the adjacent nodes in the list. at first, it seems simple but there are many cases to consider like if the list is of even length /odd length.. i wrote some code and he asked me to work with an example...it worked fine for the lists of odd length but had some problem with even length..after a little thought, i fixed it partly and tried to talk and convince that its working fine with an example ;)..mannn he is soo keen that he wudnt get confused no matter what gimmicks i did there at the whiteboard..finally, he made me walk through each and every line of the code i had written and then he got convinced that its working. He then asked me to come up with testcases that wud crash my code. Almost instantly it flashed to me that a linked list with loops wud crash my code..i told him ..i guess he was impressed with this and then he asked how wud i fix it. I knew the solution for loop detection in linked lists which i explained glibly(Think i scored some extra points again :) ).. After all this, i was left with ten mins..then he asked me how gud i was at debugging. to which i replied "To be honest, if i had written the code out of interest and enthusiasm, i wud debug it with equal enthu..but,if i had written for class assignments or projects, which i am not interested then i wud force myself to debug" to which, he smiled and asked "how abt debugging code written by fellow developers" and i replied, " i dont have a problem," and, talked abt my previous job at verizon.. he made some remarks and asked me to wait in the conference room.

3.30pm:

Finally, its all done..i think i had given my best shot. (except for that monkey round!! which made me go crazy) .There I was, sitting quitely with nothing else to talk and nothing else to think. Then the HR guy pops in and announces that he wants to talk to me in person.Well I thought, ok here comes the time for sendoff; but i was mistaken,he asked me to fillout some paperwork and congratulated me for making into microsoft and asked, if i accepted the offer!!!! oh my goshhhh... wowwwwwww.... i jumped frm the chair and screamed "YESSSSS!! ofcourse i accept".. At that moment, happiness knew no bounds. it was 100% pure excitement..coz, i strongly believed that i had bad luck getting a job. He went thru the compensation and terms which just went straight off my head!
Then I drove back to my campus at speeds > 100 mph :).. cudnt control my adrenaline..!! ofcourse, it was my lucky day...i didnt get a ticket.

thats all folks..
gud luck for ur interviews..

PS:what i learnt frm my interview..human brain works very effectively under stress (when u stand up and try to code on the whiteboard)... I got so many creative ideas instantly. But, if u break down and get choked up, like my second round..thats it...even a simple O(N) problem appears to be NP-hard!!

--pavan.