Good to hear your coming into the field, make sure you have an area that you're most interested in and can explain why you're energetic about it (networking, search, database, storage, kernel, etc). When I interview ppl I want to see them excited about the stuff they want to do. For a fresh grad, energy and being "hungry" is a big positive.
Most ppl don't know how to interview new grads. They're used to interviewing ppl with experience and will try to adjust the questions accordingly. This means they'll ask academic questions which should be fresh in your mind. Frequently, ppl have standard programming questions that they like to ask:
- Reverse a string
- Find a loop in a linked list
- Determine if a string is a palindrome
- Different ways to count number of bits in an integer
- Add/Insert objects into a singly linked list
- How to find out if a system is big Endian or little Endian
- Calculating Fibonnaci numbers (serially, recursively)
- Common search algorithms, pros/cons, big O complexity
- multi-threaded programming, context switching, resource sharing
- various resource locking (spinlock, mutex), their pros/cons
- GDB experience, what's a segfault.
Then there are brain teasers. Many of which you can find by googling Microsoft's interview questions:
- why is the manhole round
- how to find the fake coin in a stack using a scale
- how to transport different animals across the river
- how many barbers are there in NY (detailed assumptions arriving at a reasonable answer)
Finally there are personality questions.
- Do you know what this company/department does? (VERY IMPORTANT)
- What field did you specialize in school? What CS field do you want to go into, and why?
- What problem have stumped you before and how did you find a solution to it?
- Where do you see yourself in 5 years? (stupid questions but you'll be surprised how unprepared ppl are for this question)
Last edited by Amoeba; 11-09-2012 at 08:51 PM.