Reader Vinay Solanki faced these questions from Microsoft recruiter, who apparently was hiring straight out of college.
- How did you first get interested in Computer Science?
- What do you like to do best related to computers now (programming, administration, testing, manage projects, etc)? What is it about that area that you specifically enjoy?
- What is your strongest programming language (Java, ASP, C, C++, VB, HTML,C#, etc.)?
- When is the last time you coded in C/C++? What is the most lines of original C/C++ code you have personally written in one project? How confident are you in your ability to write C or C++ without a reference?
- How do you test your code?
- Are there particular areas of technology you’re interested in, or specific products you would want to work on at Microsoft?
- Describe your ideal job.
- Given a simple program designed to take inputs of integers from 1-1000 and to output the factorial value of that number, how would you test this program? You do not have access to the code. Please be as specific as possible.
- Is there anyone else in your set of peers or friends who you would like to recommend as a great candidate for Software Development positions at Microsoft? If so, please list their name and email address below.
- What is your expected date of graduation if you are still in school? If you have already graduated, what was your graduation date?

9 Comments on Microsoft college recruitment questions
one can test the code by applying it on the realexample
I would like to know the answers for the question. can u help me………
My strongest programming language is VB
software program is divided into modules. each module is tested by executing independently, overall program is executed finally.
this is just the normal interview procedure to know more about you.
They may ask you to fillup and reply answers to those questions.. I got somewhere 15 or so.
There is no specific answer for it. You answer what you know and what you want MS to know about you.
HTH
bye
ketan
I am confused?
Is the 8th question:
output = n such that n! = input
or
output = n! where input = n.
1000! is a ludicrously big number though, so I guess the first.(to check might be computationally impossible as has over 10^(2*900) digits).
But then what does the program do when it sees something like, input = prime number or other non-factorial. (: it calculates a floating point number based on Integral{log(etc..)} and then does some adjustment/refinement.
I suppose you could just divide the number by 1, then 2, then 3, … and see if you get to one or a floating point number instead of 1. Then see if the last number in your dividing list matches the input.
This is in ref to question 8 above…
one obvious way to test the program is to divide the output by 1,2,3,4..until the number entered as input and check if the quotient is 1 finally, but what if the number input is 1000…it gets tedious..the easier way to test the program is as follows
for example, you enter 5 as input and the output is 120. Enter one less consecutive number..here 4 and the output let’s say is 24. To test the program, you multiply 24 by 5 and the ouptut should be 120. To make sure the program is foolproof, you enter 3 as input and multiply the output by 4 and match it with the output for 4.
If anyone comes up with a better idea, please do post your comment.
One of the way is like this.
Assuming you get 120 as 5!, then have a reverse loop from 5 to 1 and divide 120 by 5 and if the remainder is 0, then divide the quotient (120/5) by 4 and going this way if the final remainder is 1 with remainder 0, then the test is successful, else not.
The program is good if it is user friendly
i.e. it directs the user and consumes less space, further it must follow minimum steps.
Im your case,
1.) Take a singular array with required index
as it leaves for further use,i.e. take 1000
2.) Now flush it fflushstd.in
3.) calculate factorial by calling function and store in the array