Here is a set of questions that I have with me which software
guys have asked at interviews in the past, most of them are actually from
Microsoft but a few have been pulled together from other places too. I have
collected these from friends and would welcome any additions from you. Do send
me your solutions, but the intent of this page is to kindle enough interest in
you to try similar logic and programming questions.
PLEASE DO NOT REQUEST ME FOR MORE SOLUTIONS!
I have grown up reading Martin Gardner's Scientific American columns on Mathematical Games and interesting mathematics olympiad problems in high school. I discovered, to my delight, Bentley's Programming Pearls and David Gries' The Science of Programming in my computer science education. There is underlying beauty in mathematics and computer science. Some find it and others hate the subjects. When I found some of the Microsoft interview questions in graduate school, they were similar to mathematical puzzles that I was interested in. I started collecting them more as an illustration of interesting logic puzzles and algorithms in programming, than as an interview aid. If it has morphed into an interview questions page, that is more due to interest from all interviewees out there.
Some of the programming questions have a basic foundation in mathematics and algorithms. If the given data structure has a specific amount of information and the question asks you to extract/modify the given information, it is possible (though not always obvious) to find optimal solutions, and prove that it cannot be done any better, by quantifying the information content. But, there are always elegant and ugly ways to extract the same information. When you manage to find out the optimal solution to a problem, it usually not only turns out to be elegant, but also has the "aha!" factor to it. Try proving on paper the following question from my undergraduate mid-term:
1. Everyone Loves All Lovers
2. Romeo Loves Juliet
Therefore, prove (i.e. 1 AND 2 => 3)
3. I Love You
To answer one of the more frequent questions that I get: No! I have never interviewed at Microsoft. In fact, I work in a microprocessor company far removed from any software development (though I work mostly in programming). However, I have had two of my roommates and two more housemates eventually working in Microsoft, in addition to a large number of friends. None of them have contributed to this page AFTER they started working at Microsoft. Microsoft itself does not hold any patents and nor has it invented most of the questions. Most of them come from mathematics and physics books, party puzzles, programming lore and standard textbooks. I know many companies ask similar questions, though Microsoft might have made the practice more common (especially with the manhole cover type of questions).
I have spent some time in collecting with the intention of their value as a practice session. They are not meant to be exact questions that you need to know and answer in an interview. They are supposed to make you think! Discuss with your friends, colleagues, professors for answers (get your tuition money's worth). I have left the page in simple text format so you can print them out and try them on your flight to the interview in case you are pressed for time. One of the strangest phone calls I remember is from a girl, staying up in a Microsoft provided hotel room in Redmond the night before the interview, asking me about the solution for one of the questions from this page. I hope the rest of you are saner (or do not have my phone number).
0. Classic: If a bear walks one mile south, turns left and walks one mile to the east and then turns left again and walks one mile north and arrives at its original position, what is the color of the bear.
ANS. The color of the bear is trivial. The possible solutions to it are interesting. In addition to the trivial north pole, there are additional circles near south pole. Think it out.
* 1. Given a rectangular (cuboidal for the puritans) cake with a rectangular piece removed (any size or orientation), how would you cut the remainder of the cake into two equal halves with one straight cut of a knife?
ANS. Join the centers of the original and the removed rectangle. It works for cuboids too! BTW, I have been getting many questions asking why a horizontal slice across the middle will not do. Please note the "any size or orientation" in the question! Don't get boxed in by the way you cut your birthday cake :) Think out of the box.
2. There are 3 baskets. one of them have apples, one has oranges only and the other has mixture of apples and oranges. The labels on their baskets always lie. (i.e. if the label says oranges, you are sure that it doesn't have oranges only,it could be a mixture) The task is to pick one basket and pick only one fruit from it and then correctly label all the three baskets.
HINT. There are only two combinations of distributions in which ALL the baskets have wrong labels. By picking a fruit from the one labeled MIXTURE, it is possible to tell what the other two baskets have.
3. You have 8 balls. One of them is defective and weighs less than others. You have a balance to measure balls against each other. In 2 weighings how do you find the defective one?
4. Why is a manhole cover round?
HINT. The diagonal of a square hole is larger than the side of a cover!
Alternate answers: 1. Round covers can be transported by one person, because they can be rolled on their edge. 2. A round cover doesn't need to be rotated to fit over a hole.
5. How many cars are there in the USA?
6. You've got someone working for you for seven days and a gold bar to pay them. The gold bar is segmented into seven connected pieces. You must give them a piece of gold at the end of every day. If you are only allowed to make two breaks in the gold bar, how do you pay your worker?
7. One train leaves Los Angeles at 15mph heading for New York. Another train leaves from New York at 20mph heading for Los Angeles on the same track. If a bird, flying at 25mph, leaves from Los Angeles at the same time as the train and flies back and forth between the two trains until they collide, how far will the bird have traveled?
HINT. Think relative speed of the trains.
8. You have two jars, 50 red marbles and 50 blue marbles. A jar will be picked at random, and then a marble will be picked from the jar. Placing all of the marbles in the jars, how can you maximize the chances of a red marble being picked? What are the exact odds of getting a red marble using your scheme?
9. Imagine you are standing in front of a mirror, facing it. Raise your left hand. Raise your right hand. Look at your reflection. When you raise your left hand your reflection raises what appears to be his right hand. But when you tilt your head up, your reflection does too, and does not appear to tilt his/her head down. Why is it that the mirror appears to reverse left and right, but not up and down?
10. You have 5 jars of pills. Each pill weighs 10 gram, except for contaminated pills contained in one jar, where each pill weighs 9 gm. Given a scale, how could you tell which jar had the contaminated pills in just one measurement?
ANS. 1. Mark the jars with numbers 1, 2, 3, 4, and 5.
2. Take 1 pill from jar 1, take 2 pills from jar 2, take 3 pills from jar 3, take 4 pills from jar 4 and take 5 pills from jar 5.
3. Put all of them on the scale at once and take the measurement.
4. Now, subtract the measurement from 150 ( 1*10 + 2*10 + 3*10 + 4*10 + 5*10)
5. The result will give you the jar number which has contaminated pill.
11. If you had an infinite supply of water and a 5 quart and 3 quart pail, how would you measure exactly 4 quarts?
12. You have a bucket of jelly beans. Some are red, some are blue, and some green. With your eyes closed, pick out 2 of a like color. How many do you have to grab to be sure you have 2 of the same?
13. Which way should the key turn in a car door to unlock it?
14. If you could remove any of the 50 states, which state would it be and why?
15. There are four dogs/ants/people at four corners of a square of unit distance. At the same instant all of them start running with unit speed towards the person on their clockwise direction and will always run towards that target. How long does it take for them to meet and where?
HINT. They will meet in the center and the distance covered by them is independent of the path they actually take (a spiral).
16. (from Tara Hovel) A helicopter drops two trains, each on
a parachute, onto a straight infinite railway line. There is an undefined
distance between the two trains. Each faces the same direction, and upon
landing, the parachute attached to each train falls to the ground next to the
train and detaches. Each train has a microchip that controls its motion. The
chips are identical. There is no way for the trains to know where they are. You
need to write the code in the chip to make the trains bump into each other. Each
line of code takes a single clock cycle to execute.
You can use the following commands (and only these);
MF - moves the train forward
MB - moves the train backward
IF (P) - conditional that's satisfied if the train is next to a parachute. There is no "then" to this IF statement.
Explanation: The first line simply gets them off the parachutes. You need to get the trains off their parachutes so the back train can find the front train's parachute, creating a special condition that will allow it to break out of the code they both have to follow initially. They both loop through A: until the back train finds the front train's parachute, at which point it goes to B: and gets stuck in that loop. The front train still hasn't found a parachute, so it keeps in the A loop. Because each line of code takes a "clock cycle" to execute, it takes longer to execute the A loop than the B loop, therefore the back train (running in the B loop) will catch up to the front train.
It is best to read some website or a book for questions like these.
1. Tell me the courses you liked and why did you like them.
2. Give an instance in your life in which you were faced with a problem and you tackled it successfully.
3. What is your ideal working environment.
4. Why do you think you are smart.
5. Questions on the projects listed on the Resume.
6. Do you want to know any thing about the company.( Try to ask some relevant and interesting question).
7. How long do you want to stay in USA and why (I guess non-citizens get this)?
8. What is your geographical preference?
9. What are your expectations from the job.