How do I prepare for graduate technical interviews in software?
July 22, 2008 4:50 PM Subscribe
In about six weeks I expect to have a technical interview for a graduate position with MS. What can I do between now and then to be as well prepared as possible?
This is my first 'real' interview - I'm just finishing my degree. I have interviewed for jobs like McDonalds and waiting tables, but that seems qualitatively different. The only other application I have made so far was to Google, and I didn't get past their technical phone screen (I did ask for feedback on how I went, but haven't heard anything from them yet). I do have some pretty good work experience, but the interview process for that was all over the phone and seemed ridiculously easy, I don't think there was much competition.
My biggest issue is that I don't really know if I'm good enough - what are they looking for? What do they expect from me? I have honours grades and a bunch of scholarships, but no open-source involvement and I feel like the really impressive guys at uni just know and understand way more than me, at a completely different level. How do I know what kind of position I should be applying for, or if Microsoft/Google/etc are just out of my league? (This is anon because in real life I never admit to that I might be less than capable of anything. I don't mind if I'm recognizable, I just don't want the angst easily linked to my name.)
Current plans:
-I'm going to do some coding (in C++) to make sure I have all the syntax at my fingertips - it's been a while since I've worked in it.
-I just reread my Data Structures and Algorithms textbook, and I'm taking another course in them now
-I'm working on the Google CodeJam problems
-I've been googling 'Microsoft interview' and variations to find all the available info on the type of questions they'll ask, logic puzzles etc.
-I'm also starting my final semester, and have a lot of work to do, so I don't have unlimited time to work with.
I'm looking for MS-specific tips, but also advice for software interviews in general, as I'm sure I'll be interviewing at other places as well.
This is my first 'real' interview - I'm just finishing my degree. I have interviewed for jobs like McDonalds and waiting tables, but that seems qualitatively different. The only other application I have made so far was to Google, and I didn't get past their technical phone screen (I did ask for feedback on how I went, but haven't heard anything from them yet). I do have some pretty good work experience, but the interview process for that was all over the phone and seemed ridiculously easy, I don't think there was much competition.
My biggest issue is that I don't really know if I'm good enough - what are they looking for? What do they expect from me? I have honours grades and a bunch of scholarships, but no open-source involvement and I feel like the really impressive guys at uni just know and understand way more than me, at a completely different level. How do I know what kind of position I should be applying for, or if Microsoft/Google/etc are just out of my league? (This is anon because in real life I never admit to that I might be less than capable of anything. I don't mind if I'm recognizable, I just don't want the angst easily linked to my name.)
Current plans:
-I'm going to do some coding (in C++) to make sure I have all the syntax at my fingertips - it's been a while since I've worked in it.
-I just reread my Data Structures and Algorithms textbook, and I'm taking another course in them now
-I'm working on the Google CodeJam problems
-I've been googling 'Microsoft interview' and variations to find all the available info on the type of questions they'll ask, logic puzzles etc.
-I'm also starting my final semester, and have a lot of work to do, so I don't have unlimited time to work with.
I'm looking for MS-specific tips, but also advice for software interviews in general, as I'm sure I'll be interviewing at other places as well.
Work on your people skills too. MS full time employee interviews are 8 hours and you will probably meet at least 8+ people.
posted by wongcorgi at 5:19 PM on July 22, 2008
posted by wongcorgi at 5:19 PM on July 22, 2008
Couple things to keep in mind:
1) Every group, and even individual team at MS has a huge amount of autonomy with regards to how they run things. You will probably get quite a range of responses to this question and all of them will be true for one team or another. There are something like 30,000 employees in Redmond. There is a lot of variety.
2) Most teams are absolutely desperate for good employees. What is "good" varies a lot but it usually boils down to being reasonably skilled with stuff relevant to your job and (more importantly) being able to learn new skills as needed.
3) From my experience very few people still do those lame ass logic puzzles in interviews anymore (if, indeed, more than a few people ever did). Expect questions about your experience and technical problems related to the job. You should be interviewing with people who would be your coworkers and boss so they should know their stuff.
4) For a lot of positions C# is more prevalent than C++. But don't despair! Going from C++ to C# is a lot easier than the other way around. I usually go by the adage that if you can handle C++ well you can handle any language.
Just as a side note, someone with your degree and skills already sounds head-and-shoulders above many people I've worked with at MS. Seriously, do not be doubting yourself on that front. A lot of teams are so desperate they'll bring on people who are obviously hard-core unemployables (as contractors) simply on the off chance they'll turn their shit around (they never do).
posted by Riemann at 5:24 PM on July 22, 2008
1) Every group, and even individual team at MS has a huge amount of autonomy with regards to how they run things. You will probably get quite a range of responses to this question and all of them will be true for one team or another. There are something like 30,000 employees in Redmond. There is a lot of variety.
2) Most teams are absolutely desperate for good employees. What is "good" varies a lot but it usually boils down to being reasonably skilled with stuff relevant to your job and (more importantly) being able to learn new skills as needed.
3) From my experience very few people still do those lame ass logic puzzles in interviews anymore (if, indeed, more than a few people ever did). Expect questions about your experience and technical problems related to the job. You should be interviewing with people who would be your coworkers and boss so they should know their stuff.
4) For a lot of positions C# is more prevalent than C++. But don't despair! Going from C++ to C# is a lot easier than the other way around. I usually go by the adage that if you can handle C++ well you can handle any language.
Just as a side note, someone with your degree and skills already sounds head-and-shoulders above many people I've worked with at MS. Seriously, do not be doubting yourself on that front. A lot of teams are so desperate they'll bring on people who are obviously hard-core unemployables (as contractors) simply on the off chance they'll turn their shit around (they never do).
posted by Riemann at 5:24 PM on July 22, 2008
One of the things about interviews at Microsoft is that we do not look just at what you know now, or your immediate experience - but what potential do you have in the future.
While saying that - I work with people on panel interviews who focus on extremely technical experience/knowledge. However, the team I am on needs to have people "hit-the-ground-running" and is in the services division. Product development/research has a more long focus.
You sound ready - remember interviewing is a skill - do as much of it as possible, get feedback - Microsoft is very good at giving feedback. And... if you don't get in the first time, get feedback and try again in a few months, if you are still interested. I've met people who have been through 2-3 rounds of interviewing.
posted by jkaczor at 9:33 PM on July 22, 2008
While saying that - I work with people on panel interviews who focus on extremely technical experience/knowledge. However, the team I am on needs to have people "hit-the-ground-running" and is in the services division. Product development/research has a more long focus.
You sound ready - remember interviewing is a skill - do as much of it as possible, get feedback - Microsoft is very good at giving feedback. And... if you don't get in the first time, get feedback and try again in a few months, if you are still interested. I've met people who have been through 2-3 rounds of interviewing.
posted by jkaczor at 9:33 PM on July 22, 2008
Microsoft asked me lots of old chestnut logic problems that any bright 9 year old could solve. Weighing 9 coins with a balance scale to find the lightweight fake, that kind of thing. And such cliched coding questions. It was really easy. This book should help a lot. It's kind of a crappy place to work though, apart from the kick-ass health insurance.
posted by w0mbat at 11:30 PM on July 22, 2008
posted by w0mbat at 11:30 PM on July 22, 2008
Do not go into any interview thinking "I really want this job" or "I really want to work here."
Remember: interviews work both ways. You should also be prepared to ask questions and evaluate the potential employer as if "you" are hiring "them."
posted by three blind mice at 3:01 AM on July 23, 2008
Remember: interviews work both ways. You should also be prepared to ask questions and evaluate the potential employer as if "you" are hiring "them."
posted by three blind mice at 3:01 AM on July 23, 2008
« Older How to handle salary discussions before you have a... | inline skating: fastest bearings, most durable... Newer »
This thread is closed to new comments.
posted by 0xFCAF at 5:17 PM on July 22, 2008