How do Microsoft coding tests look like?
July 14, 2008 6:08 AM   Subscribe

I have just got an e-mail from Microsoft, regarding a position I've applied for. They want me to do a 2-hour coding test, solving a couple of problems. Any idea on what these problems may look like?
posted by anonymous to Work & Money (8 answers total) 4 users marked this as a favorite
 
This tends to be a very Easy to Google Question
posted by bitdamaged at 7:12 AM on July 14, 2008


bitdamaged, none of those links actually deal with any sort of coding test, they're just about interview questions. However, I do agree that typical MSFT interview questions are likely to be on the coding test.

anon, I've interviewed at MSFT many a time (2 summers of prospective internships, 1 full-time attempt...yet never worked there) and have never had to take a coding test. I can completely understand why you might not want to share the position you're applying for, but it might help in narrowing down why you have to take a test, and what kinds of questions you're likely to see. Interview questions at MSFT are hard to predict - I think interviewers are given a lot of freedom to pick their own question and question style, so during a day long interview you go from coding up Unix utilities on the blackboard, to solving dumb brainteasers, to talking about testing methodologies. The type of question is also very different if you're planning on interviewing for an SDE vs SDET position.

Memail me if you want to get any details on how my three full days of interviews went...but be forewarned, what you hear from me has little-to-nothing to do with what you'll have to answer, almost guaranteed.
posted by crinklebat at 8:16 AM on July 14, 2008


William Poundstone wrote a book called How would you move Mount Fuji?: Microsoft's Cult of the Puzzle that might be relevant, or at least enjoyable.
posted by box at 8:30 AM on July 14, 2008


I've interviewed at MSFT many a time (2 summers of prospective internships, 1 full-time attempt...yet never worked there) and have never had to take a coding test

I've also interviewed with them and I also didn't need to take a coding test. In my experience, the interview questions were in the same vein as the ones bitdamaged linked to. Most of them were in the form of solving a puzzle or writing code to implement some relatively basic algorithms.

Did they specifically say in the email that it's going to be two hours of straight coding?
posted by burnmp3s at 8:42 AM on July 14, 2008


I was interviewed by them once. The guy was really cold and unfriendly. I walk in, he points to a chair indicating I should sit, and doesn't even introduce himself. I say "Hi, I'm [name]" and offer up a handshake -- nothing.

I sit, and he says "here's a pen and paper, write up the C++ class for a trinary search tree"...

Disclaimer: This was back in 2000.. and it was one guy.. your experience may not be like this. Still, it soured me on Microsoft big time.
posted by twiggy at 10:00 AM on July 14, 2008


You might try poking around on the MS Jobsblog site a little.

I'm not aware of an actual written coding test, but I haven't gone through a loop at MS in a really long time. I know that most SDE and SDET interview loops will more than likely require whiteboard coding, they have a mock test video here.

Searching the Jobsblog for "SDE" or "SDET" can help narrow down the posts a bit -- an SDE interview summary is here.
posted by curse at 10:16 AM on July 14, 2008


You obviously didn't read the linked pages, the first returned link from the google search has these:

Write me a function for the game of tic-tac-toe in C# that returns a bool. you name the params. Tell me if X has won the game. So you have...

NOTE: click the DidXWin link below to see an answer...

bool DidXWin( ) {
// you fill in the blank
}

Write me a function in C# (don't use the VB library) that takes in a string value and returns a string value that is reversed.

NOTE: click the Reverse link below to see an answer...

static string Reverse(string s) {
// you fill in the blank
}

Given an unsorted array with values 1 to 100, there is one number that is missing. The missing value will be zero. How would you find the missing number? Write test cases for this code?


How would you test an application that takes 3 inputs and draws a triangle? (black box testing)

Write a data structure class that works as both a Stack and a Queue. Write test cases for them.

Write code to reverse a linked list. Write test cases.

Write code to merge-sort 2 linked lists (no duplicates). Write test cases.

Write code to delete all nodes in a linked list that contain integer values that are odd numbers. Write test cases.

Write code to delete alternate nodes in a doubly linked list. Write test cases.

- Given "ABC/EF" where do you place values G, H, and I. (pattern matching puzzle).


How do you detect if a linked list is null terminated or circular?

Write code to find the lowest common ancestor node in a BST.

Let's say you have a linked list from 1 to N in length. What's the minimum number of iterations to find a particular value? The maximum? The average? How do you delete a node in the middle of the list?

Write me a function that takes a string and returns a boolean to identify if the param is a palindrome. (a variation of the infamous C# StringReverse question). OK, now change it around so the param is an integer...how do you handle that?

Design an object model for a tic-tac-toe game.

Amazon.com has hired you to design their system in .NET. List 10 business requirements and then draw me a design to meet the requirements. Don't just put UI, BL, DL, DB either. "I will be back in 45 minutes (note: guy comes back in 15 minutes later)." Explain your requirements list to me. Explain your design diagram to me. Why did you do it that way?

What's the benefit of the COM+ component? How does a queued component work?

Explain how to use Active Directory for logins in an application? How do you secure passwords? What's a hash?

OK, here's a list of XML nodes...there could be a million of these things. How do you identify parent nodes that have matching subnodes? For example, nodes 1 and 4 are duplicates because they both contain subnode1, subnode2, subnode3

How do you fit a giraffe in a refrigerator? OK, how do you fit an elephant with it?

You are standing by a river full of alligators. How do you cross the river?

Tell me all of the events that fire on a page when it's not on a postback?

What is an HttpModule? How does it work?

Explain to me the entire process of how a request comes from a browser and ultimately gets handled by .NET? (For example, an answer could be: data goes through either port 80 or 443, gets handled by IIS that runs as a service in Windows that listens on those ports, the extension is mapped into IIS that has an ISAPI filter mapped to .aspx, .aspx, etc. The runtime gets called to run by IIS and the Web site is up..etc,etc) In the middle of all of that he asked "What mode does IIS run in, kernel or user mode?" "What about Windows Server 2003?"


Obviously the relevance of the questions will depend on the position you're hiring for.
posted by bitdamaged at 10:18 AM on July 14, 2008 [2 favorites]


You obviously didn't read the linked pages, the first returned link from the google search has these

I think the point was that those are questions that a guy asks you, and you both go through the problem on the fly. It's less about your ability to actually write the code (most of the problems are pretty simple) and more about how you explain yourself, and how you answer the interviewer's questions about why you wrote it the way you did and what kinds of problems you might run into.

The phrase "2 hour coding test" sounds more like being put in a room with a paper and pencil and working through a set of harder and more involved coding problems. I've heard of other companies doing it (coding tests seem to be more popular inside the game industry than any other), but not Microsoft.
posted by burnmp3s at 1:19 PM on July 14, 2008


« Older Un-whitewash myself?   |   Name that voice Newer »
This thread is closed to new comments.