Tuesday, January 06, 2009

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++

No comments: