-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
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) 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.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
database related
internet technology
misc. tech. questions..(windows, unix, file system etc.)
question for interviewer
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
Interesting site for algorithms
http://hissa.nist.gov/dads/HTML/bresenham.html
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=1
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=7
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=8
http://www.acetheinterview.com/cgi-bin/qanda.cgi?action=topics&number=9
http://www.acetheinterview.com/qanda/quesforinterviewer.html
http://www.eecs.uic.edu/~skishenc/technical/technical3.htm
http://hissa.nist.gov/dads/terms.html