One Microsoft Way!!!!

-One more way to get into Microsoft

This page is for people who aspire to work in Microsoft to realize their DREAM in Microsoft's DREAM 

Interviewing successfully with Microsoft is a tricky task but can be pretty straightforward. It is tricky because they ask you interesting question from many areas, which u might never have heard of. But if you hear of those questions before hand the interesting part of it will be all gone and they will be mere QUESTIONS!!!

As one of my acquaintance had put "interview is supposed to separate wheat from chaff but if chaff know to disguise itself as wheat it can get way with it and wheat if is light or if wind is strong will be considered as chaff." So I think by preparing right for this INTERVIEW we can always pass ourselves as WHEAT... which all of US want to be.

Fortune favors prepared minds!!!

This info is for Software Test Engineer and Software Design Engineer in Test.

Lets get to the point....

Microsoft Interview consists of TWO stages.

Now which one is easier ??? This is a tough question..

I feel the on-campus one is tougher. Not because of questions in interview but because of the less percentage of acceptance. The average percentage of acceptance at this stage is around 5-15%. The decision made is based on many criteria which keep changing from time to time (almost every semester). But what we observed is that they are looking for confident people who have basic understanding of the operating system and programming concepts.


On-campus interview:

A typical on-campus interview will be something like the following: The interviewer is usually a manager or some one from higher positions. And does not TALK much. so don't try to get into a small talk but directly get to techs talk.

1) Why Microsoft?
2) Why Testing?
    Have a good reason handy.

3) Tell me which project of yours do you like the most and why?
    Make sure u prepare this in advance. You should be able to bombard him with all sorts of technical details of your favorite project. Like design details, Complexity (O), Implementations problems, Data structures used, Problems faced, Modifications made and TESTING; Testing is one important aspect that many miss. But one should know all details of the project. AND should be able to answer any question. SO don't try to B.S.

4) Will u implement the project in any other way given a chance now?
    They expect you to talk about any drawbacks (there should be at least one) of you project and the fix for it.

5) A coding Question.
    This will most probably be from one listed below.
    Remember to keep talking all the time. Interviewer might act as if s/he is not interested. But remember s/he is LISTENING!!!

6) A debugging question
    Debug a given code,

7) A testing question.
    This is a very important one. The interviewer will observe your thinking process. So try to think out loud. It helps.
    Some example questions are to Test a vending machine, Test a toaster, Test a white board marker, Test a file open dialog, test a run dialog, Test the file one module in   word, test the calculation engine in excel, test a TV remote, etc ..
I think that all they look for is how differently can you think and how organized you are.
A small guideline to approach testing question is given below but remember this is just a drill; you will have to think of some thing DIFFERENT to impress the interviewer.
 

Verify the specifications (do this first !!!)

Check Correctness

Check Usability

Check Boundary conditions

Check Performance

Check State transition

Check the system for varying loads

Check Running the system in background (unattended)

Check Error handling (bad inputs, system crash etc ..)

Check Security (latest hot cake!!!)

Check Compatibility

Check Reusability

Check Hardware dependencies

Check Version

Check documentation

Check Functionality

Check Signal handling

Check Control structures ( for white box testing) check each construct like IF, For etc ..

Check Special conditions ( like 1 for prime number)

Check Input output

Check Error recovery

Check Communications with other programs and within

Check for Different network conditions

Check Language (for internationalization)

Check Extended character set

Check Spelling mistakes

later ...

Some Personal questions Direct from microsoft recruiters here.

On-Site Interview:

This is a good interviewing experience in which all u r asked for is to understand the basics of any concepts. They will normally pick questions from your resume. They will be as simple as difference between a thread and a process or what is a cache. But remember u have to know it in and out. For example in case of threads and processes, the expected question can be when to use process, when to use a thread, why is a thread light weight, what is a kernel thread, if you have 2 threads in a process and one of those threads needs real time clock what would you do, how r threads scheduled etc. So I guess the following list will give you the basic list of topics which one needs to master!

Algorithms and design : - sorts (insertion, bubble, heap, merge, quick, counting, radix, bucket), trees, lists (single, double, circular), dynamic programming, complexity of a solution, hash tables. I would refer "Introduction to Algorithms (second Edition) by Cormen, Leiserson, and Rivest(2001)" This has the most optimal algorithms for trees and sorts.

Operating systems:- all the topics r important ;) but some very imp topics are process, scheduling, synchronization, main memory, virtual memory. Any book will be fine but the book containing the implementationrather than theory will help, " Operating Systems: A Design-Oriented Approach by Charles Crowley"

C :- all one needs for C  is K& R " The C Programming Language". Most of the programs which microsoft asks are from this book.

Network : Any book is fine but normal questions are from security, Network layer and Transport layer. You can find some slides from lectures at here. This covers most of the concepts required in general for any networking interview

Unix Programming : IPC, Synchronization, socket programming etc... You can find some slides from lectures at here. This covers most of the concepts required in general for any UNIX based interview

Implementation : c string(string.h), data structures( Link lists1, Link lists2 , trees) , sorts. Please remember that you have to fluent in coding on the day of interview and none of the question will be new for you. the important thing is not to make mistakes and blunders. So it is v very important that all the coding questions are reviewed before the interview day.

These are the most frequently asked topics other may depend on you resume.

On Site interview consists of 2 HR and 5 technical interview.

The day starts with a HR. It is just a simple warm up interview. HR will give the teams for which you will be interviewed.

Each of the technical interview will mainly consist of a puzzel, a coding question, a testing question and a question from the project you have done(resume). Most of the puzzles and coding questions will be from the links below.

The simple formula to know you results at the end of the day is

i<=3 technical interviews 0-10% chances

i>3&&i<5 technical interviews -0-50% chances (If you are exceptionally good then it is 100%)

i==5 technical interviews 90-100% (If you have a very good 5th then it is 100%)

Here are some interview description by people who faced it!!!

 

Enough of crap now to some imp stuff:- material!!!!

BTW: Did I mention that you can contact me at getkirank(_at_)yahoo.com

Microsoft Jobs blog has some insight to MS recruting process Please take some time in going through this site. The information relevant to the interview is updated constantly. is any one surprised to know that the recruiters really want you to get the JOB. I can tell you I was while going through the website.

The Microsoft Interview Process

Microsoft interview tips

Phone screen questioner right from recruiters

Interview Guide :Programming Interviews Exposed: Secrets to Landing Your Next Jobby John Mongan, Noah Suojanen

Microsoft Onsite preperation guide from MS recuriters

Microsoft Question Bank ( copy of www.cs.uga.edu/~srikant/JobInfo/msoft.html)

More Puzzels

INTERVIEW QUESTION BANK (copy of http://halcyon.usc.edu/~kiran/msqs.html)

Data structures http://datastructures.net

Puzzels and solution in word format (copy of archives at http://techinterview.org )

http://acetheinterview.com this site is currently unavailable but contains very useful questions

This a doc which my friend made out of many sites.

C questions ( actually it is a big bundle of C code, the day you understand K&R u will understand all of it)

Brief description of onsite interviews right from the horse's mouth.

 

Some more links which may be of some use ( I dont know how many of them are still UP!)

http://msdn.microsoft.com/vstudio/techinfo/articles/upgrade/Csharpintro.asp

http://www.joelonsoftware.com/articles/fog0000000073.html

http://www.microsoft.com/windows.netserver/docs/TechOverview.doc

http://msdn.microsoft.com/library/en-us/dncomg/html/msdn_comppr.asp

http://www.seas.upenn.edu/~ross/book/apps/http.htm

http://www.4guysfromrolla.com/webtech/012700-1.shtml

http://www.sellsbrothers.com/msiview/

http://www-scf.usc.edu/~bondalap/ais/msqs.html

http://www.oneparticularharbor.net/sam/interview.html

http://joel.editthispage.com/stories/storyReader$20

http://prairiedog.cs.indiana.edu:4200/bookmarks.html

http://www.howdyneighbor.com/zephyr/technical/

http://www.howdyneighbor.com/zephyr/phone/

http://www.amazing.com/microsoft/windows-haters.html

http://windows.oreilly.com/news/hejlsberg_0800.html

http://www.brain-teaser.com/

http://www.serfware.net/schedule.htm

http://www.kyletravis.com/guide/

http://www.acetheinterview.com/qanda/microsoft_interview.html

http://msnhomepages.talkcity.com/WindowsWay/fariaz/

http://www.contestcen.com/tough.htm

http://www.businessweek.com/microsoft/cotv.htm

http://www.ece.utexas.edu/~satti/brainteasers.html

personal questions
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=1

database related
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=7

internet technology
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=8

misc. tech. questions..(windows, unix, file system etc.)
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=9

question for interviewer
http://www.acetheinterview.com/qanda/quesforinterviewer.html

http://www.4guysfromrolla.com/webtech/012700-1.shtml

http://www.sellsbrothers.com/msiview/

http://joel.editthispage.com/stories/storyReader$20

http://prairiedog.cs.indiana.edu:4200/bookmarks.html

bressenhams algorithms

dda algo for solution to many problems
http://www.eecs.uic.edu/~skishenc/technical/technical3.htm

Interesting site for algorithms
http://hissa.nist.gov/dads/terms.html

http://hissa.nist.gov/dads/HTML/bresenham.html