July 2, 2006

Microsoft Interview - 1st Technical Round

Following are some of the questions asked in the first round. This was the first interview from MS and I was told that this will be a Technical Interview from MS HR. And the role was told in advance that its basically VC++ (specially COM, DCOM...). The duration for the interview notified in advance was around 1 hour. It seem to me that the interviewer was from India. Though I got a VOIP call on my cell :-)

  • Whats the size of GUID (in bits/bytes)

  • What is heap and what is stack ? What is the difference between them ?

  • Where are global variables stored in memory ?

  • Which DLL would contain printf function code ?

  • How would you declare variables used in many files ?

  • What are runtime options in VC++ and how do you set it ?

  • Describe types of threads.

  • How can you create threads in MFC ?

  • How would you create dialog based application without wizards ? Tell me the steps !

  • How can you print the document ? (Which method will you use ?)

  • What is device context ?

  • What is COM ?

  • Which interface is used by each and every interface / class ? Which are methods exposed by them ?

  • Meaning of GUID, why do we need it ? How is that generated ?

  • What is a class factory ?

  • How would you write a function to reverse an integer value. Tell me the logic of the function to be developed in C (without using strings).

  • What is marshelling ?

  • What are threading models ? Describe them in details.

  • How can you register your COM object ?

  • How would you register all methods those are exposed by your EXE server ?

  • How can you register out of process EXE Server ?

  • How you create a model and modeless dialog ?

  • Whats the difference between model and modeless dialog ?

  • Which interface would you derive for scripting clients ?

  • Which interface you would derive if you have events in your COM class?

  • What is message mapping ?

  • What are synchronization objects name any 5 of them.

  • Tell the difference between critical section and mutex.

  • What are header files ? Why do we use them ?

  • What are ASSERT ?

  • What are debug and release version of an application ?

  • What is VTable ?

  • If I dont have any virtual function, will I have VTable ?

  • What is polymorphism ?

  • What are DEF files ?

  • What are type libraries ? When will they generated and how can they be used ?

  • Tell me the entry point for console application and windows application.

  • What is the difference between ANSI and Unicode ?

  • If Unicode is defined what will be entry point of a console application and what about windows application in that scenario ?

  • What does BEGIN_MESSAGE_MAP do ?

  • How to attach menu to a frame ?

  • What is the disadvantage of a linked list ?



My experience was around 80% (good) - 20% (not good) in this interview so, hoped that will get another interview from them.