The Microsoft Interview

Yep, believe it or not, I haven't forgotten that this blog exists.  I don't write very often since (I don't know if you know this) I'm not terribly exciting in this phase of my life.  As a matter of fact, all I really do is school...  but I always know that, in the event that I want to shout the mundane and uneventful details of my day into the empty echos of cyberspace, I have a blog.

Cynical?  Perhaps overly so.  I really do have exciting and fun moments!  Just not ones that most people care to hear about!  However, one particular event, my final round interview with Microsoft, has sparked the interest of several other job seekers. I'm always happy to talk with people about the experience, but I thought perhaps it would be more efficient to give an account of what happened here, and then if they have other questions, we can drill straight to them rather than working through all of this!

After speaking with a recruiter at the BYU career fair and an on campus interview, I got a call from the Microsoft HQ in Seattle offering to fly me out to Seattle for an interview for an intern position.  I was thrilled with the offer and gladly accepted.  I arrived in Seattle in the morning, eager to start.

//-----------------------------------------------------------------------
//The Night Before the Storm...
//-----------------------------------------------------------------------

Naive fool.  He doesn't know yet...
After spending the day waiting to get into my hotel room (an unfortunate byproduct of my flight arriving at 11:00 and not being able to check in till 3:00), I was looking forward to starting the interviewing process.  Strangely enough, I've always liked interviews (odd, I know.  I blame theater, but I have no proof), but this one was different.  This time.... it definitely wasn't excited anticipation.  It was more terrified!  You see this interview, this one was real.  All the other ones were theoretical, but now I was starting to position myself for a career (another frightening thought in and of itself!).  And, on top of that, I knew I was going to have to program without the crutch of a development environment (think of it as spell check for code).  I couldn't expect little squiggle marks reminding me that I just forgot to put a semicolon in or warning notes showing that I've created a variable I don't use in the code (which usually means I spelled something wrong somewhere).  I could expect nothing but the cold, semi-reflective surface staring unforgivingly back.  Yes my friends... at it's very heart, a whiteboard is cruel and unforgiving at best.

I was relieved when 6:30 rolled around since that was when I was instructed to meet with the other candidates in the hotel lobby.  I knew that once I got going, things would be just fine.  The instructions we'd been given were to wait in the lobby until someone came to get us, at which point, we'd walk to a nearby restaurant for dinner.  I entered the lobby at precisely 6:30 (Pünktlichkeit ist die Höflichkeit der Könige) and quickly discovered that I was perhaps a little overdressed in my slacks and colored button up shirt (no tie).  Which, actually, is perfect for me.  Standard rule of mine, always look slightly better than the person to your left (but never better than person across from you, but we won't get into that now).  As I would later learn, Microsoft was serious when they said "wear what you feel comfortable in."  You really want to wear jeans?  Ok.  You won't be the only one sporting those at the interview.  Prefer the power suit?  That's fine too (though you might hear a few funny remarks about your "shiny new recruit" smell).  Really, they want to see what you can do, not what you can wear.  But now I'm on a tangent... lets get back.

It was facinating to talk with all the different candidates in the room.  Nobody was even remotely similar to anyone else!  We had people from Harvard, MIT, random community colleges, BYU (yours truly), people with no official schooling at all, people who had been working for years, and people who had never worked before!  It was interesting since, it seemed, Microsoft didn't seem to care where you came from, just as long as you could do what they asked.  While that certainly makes sense, it was great to actually see.

Eventually, someone came and got us and our group of around 40 people walked over to a nearby bar.  Microsoft had rented out the back room (complete with a few Xbox kinects and 4 lanes of bowling) and pretty much set us loose.  We all went and got some food from a buffet and joked around with each other and a few Microsoft employees (not the recruiters).  Basically, the goal of the night was to let us relax since, obviously, we were all pretty stressed about the coming day!  We were also given a folder containing details of our interviews for tomorrow (what group we were interviewing for and when our rounds of interviews started).


//--------------------------------------------------------------------
//The Interviews
//--------------------------------------------------------------------

Pretty much
The next morning, we met at 7:00 in the hotel lobby.  We were driven to the Microsoft campus--which is basically a small city-- in what can only be described as a party bus.  Seriously.  The walls of the bus were lined with a single leather bench and there was music and lights.  Naturally, there wasn't a lot of partying on the way to the interviews, but we all did have a pretty good laugh.  Everyone in the bus was interviewing for the same team I was (Microsoft Business Solutions) and, funny enough, none of us really knew what that actually was.  We laughed and talked all the way to the campus, at which point we were ushered into a large conference room where breakfast was available.  We ate while waiting for the interviews to start.  I could help but be impressed at the general sense of comradeship.  We weren't directly competing with each other, since there are plenty of positions available at Microsoft (as it turns out, they're pretty big), so there was little to no hostility.

//------------------------------
//Interview 1
//------------------------------
Interviews were scheduled to start at 8:00, and they more or less did.  Each of the four interviews was to last 45 min. and there was then a 15 min. break between them.  My first interview was with a very pleasant man who talked with me about things I had put on my resume.  He got quite a kick out of my experience as a theatrical lighting technician and asked a few questions about it, asking me to diagram how it works.  When we finished, he walked me back to the conference room where I waited with the other candidates for the next round.

I'll tell you, those 15 min. between each interview were filled with more geeky jokes than I've heard in my life!  I guess that is to be expected when you stick 15 programmers together in a room, but dang!  And what made it somewhat sad... I actually understood and laughed at them.  What corner have I turned?

//-------------------------
//Interview 2
//------------------------

The second interview was a little more challenging.  I was given a marker and asked a series of brain teaser questions.  This kind of question:

"Four men want to cross a bridge. They all begin on the same side. It is night, and they have only one flashlight with them. At most two men can cross the bridge at a time, and any party who crosses, either one or two people, must have the flashlight with them.
The flashlight must be walked back and forth: it cannot be thrown, etc. Each man walks at a different speed. A pair must walk together at the speed of the slower man. Man 1 needs 1 minute to cross the bridge, man 2 needs 2 minutes, man 3 needs 5 minutes, and man 4 needs 10 minutes.

What is the fastest time all 4 men can cross the bridge?"

Ever done that one?  I'll give you a hint, it isn't the answer you initially want to give.  I answered 4 of those questions and then started writing some database queries in SQL with databases my interviewer drew up on the board.  All in all, a more difficult interview, but fun none the less.

//-----------------------
//Interview 3
//-----------------------

This was the real coding interview.  As soon as I sat down, the interviewer handed me a marker and asked me a few questions which targeted different data structures and sorting methods.  I knew I wasn't coming up with the fastest sorting algorithm since, hey, I've never had a class where we talked about them--one of the difficulties with an Isys degree, we don't focus on programming as much as a CS major-- but I knew that my code would work... eventually.  After I finished writing my code on the board, the interviewer stared at the code and said, "Yes.  That does answer my question.  Now can you make it infinitely scalable?"  I looked at my code and realized that the way I had written it made scaling about as hard as chopping a tree down with a herring.  Dang!  So I started rewriting it for a while until the interviewer eventually said, "ok, I see where you're going with it," and handed me a new problem.
This problem wasn't coding per se... it was a code design question.  He asked me to design an elevator, complete with classes and method calls (although obviously lacking the actual coding for the methods).  That went fairly well and we ended with a few more questions about my resueme.

//------------------
//Interview 4
//------------------

This was the final round interview with the hiring manager.  We talked a lot about what I wanted to do with Microsoft and where I saw myself in the company.  It was a good interview, but honestly  probably the hardest one.

//----------------------------------------------------------------
//The Aftermath
//----------------------------------------------------------------

After the interviews were done, we were all driven to Microsoft's recruiting building and fed lunch with everyone who had interviewed for any of the Microsoft groups.  We waited in a pretty cool room, complete with marshmallow chairs, xboxes, and a Windows Surface.  We all kind of played around until each of us, one by one, were pulled into a room and handed their decision.


I sat in the rather uncomfortable chair and smiled my prettiest smile.  The recruiter explained what a great tribute it was to make it this far and that the interviewers like this and that about me, but that I had not been selected for an internship.  She then explained that I had the option of going back out to the large group room and hanging out with everyone else, or I could sneak out the side door where there was a black SUV waiting to take me back to the hotel.  I actually almost laughed because... well... it just reminded me of something I had seen before...



Microsoft was reimbursing travel, food, and sight seeing expenses, so after the interviews were done I went out to see Seattle with a group of other candidates.  Some of us had gotten positions, others not, but we all still had a blast together.  After all was said and done, I really enjoyed my interview experience.  I came out learning a lot and had a ton of fun doing it.  And now I look forward to next time, when I'll be more prepared and ready!