Wednesday, January 07, 2009

Phewwww !!!

Helloo !

Finally the phone screen is over. Yayy !

My interview was scheduled at 9am Singapore time and I log into my computer at 8 just to avoid some weird time zone calculation problem (yes others have had this before.) I log on to skype and I see that my interviewer is already online. Resisting the temptation to say hi.. I just go and have a coffee. Luckily the interview doesnt send me any message in this while.

Minutes are passing by and my overly inquisitive nature wants to say hi.. but then i avoid it... Its 9:05.. no response... 9:10... finally my interviewer tells me she is running a bit late and could I wait....Great :) that just increased a little thumping in there....


Finally the interviewer calls.. It was a skype call and I dint want the great NTU internet to screw it.. Thinking I had no choice (I had already told the interviewer I preferred a phone call but she kinda forgot so I dint remind)..


Well she (Ok I wont reveal her name) was quite cheerful on the phone.... Kinda got me a bit setlled. .asked me to tell her what I have been doing these days.. any projects.. favourite programming languages etc... so much for small talk... but it kinda got me flowing..


then came the technical questions.. they were very easy actually. She asked me whether java supported multiple inheritance, and stuff about interfaces.. then moving to operating systems (I dint expect this).. she asked me about deadlocks.. which was easy and then finally a question about recursion...


Moving on she said let me ask you something thats going to be fun. Having read somewhere that Microsoft has stopped asking puzzles for interviews I was a bit taken aback and was expecting something nasty. But then the interviewer was quite nice and threw me a problem involving baloons and a room. I think it was pretty manageable and she liked the fact that I asked her questions clarifying the question itself. That really helped.. Anything you would take as an assumption.. Clarify it. The more you ask the better it is.

The last question for me was to test a communication enabled coffee cup which can be heated using commands given from the computer. There were a lot of clarifying questions to ask on this and yes some suggested improvements which made the interviewer laugh.. Even better.

Finally she asked me whether I had some questions for her. I asked her about her job and the interview process in general and finally some feedback on my interview. Overall she was quite happy and ended on a positive note.


The interview I think went as good as it could have been. Now just hoping for the best. The email should arrive within a week or so.. Till then adieu....


Cheers

Sparsh


(PS : Just saved this as a draft post. Plan to publish this later....)

Tuesday, January 06, 2009

Hours before the Microsoft Phone Screen

Hi

Am like really nervous right now as my phone interview is just hours away . Just sharing some links here which I think are really a good guide to follow :

http://blogs.msdn.com/jobsblog/archive/2004/08/04/ace-that-phone-interview.aspx

http://blogs.msdn.com/descapa/archive/2007/03/24/program-manager-pm-interview-tips.aspx

http://www.tylerbutler.com/dailydose/Pages/MicrosoftProgramManagerInterviewTheBreakdown.aspx

http://blogs.msdn.com/jobsblog/archive/2005/03/01/382953.aspx

http://blogs.msdn.com/jobsblog/archive/2005/03/02/how-i-got-to-microsoft-part-2.aspx

Preparing for Microsoft Phone Screen

Hi

Thought of sharing some preparation material that Ive been using for my Microsoft Internship interview. Some of it is very generic to most technical interviews and hope this helps you out.

I mostly use JAVA for all my assignments but most of the stuff/links I post are generic.


1. Object Oriented Programming Concepts

For all those who have been out of touch with programming, this page is a quick refresher for OO concepts in Java : http://java.sun.com/docs/books/tutorial/java/concepts/index.html


2. Virtual Functions


- Quite an interesting page with a comprehensive coverage of virtual/purely virtual functions in C++, Java and C#.

Important Stuff


  • In Java, all methods are by default "virtual functions".

  • In C#, a base class must provide the virtual modifier for any virtual method, and derived classes must provide the override modifier for any overriden method inherited from a base class.

  • In Java, pure virtual methods are declared using the abstract keyword. Such a method cannot have a body. A class containing abstract methods (either directly, or inherited and not overridden) must itself be declared abstract.

  • Java also uses interfaces. All of the methods declared in an interface are implicitly abstract. Implementing an interface allows a class to become more formal about the behavior it promises to provide. Interfaces form a contract between the class and the outside world, and this contract is enforced at build time by the compiler. If your class claims to implement an interface, all methods defined by that interface must appear in its source code before the class will successfully compile.
    (http://java.sun.com/docs/books/tutorial/java/concepts/interface.html)
  • Difference between Abstract Class and Interfaces :
    http://social.msdn.microsoft.com/forums/en-US/csharplanguage/thread/8ad621b8-a915-4d7e-89c3-5dbbc47202fd/

3. Comparisons between JAVA and C++