There are a lot of behind the scene efforts put in by Microsoft for an on-site interview, but all you need to do is pick a date and the rest is all taken care of by the company. I wanted a later date so that I could have more time to prepare since this was my first time going through the internship hunting process. I gave myself a month. I asked for an early December interview even though I was invited to the final round in November. However, it was immature because the job market is just like the stock market and time is opportunity. The sooner the interview, the more openings, which means more choices and better success rate. As you will read later, the problem I encountered likely spring from this.
I caught a red-eye on Wednesday December 4th to Sea-Tac after my UPE (a computer science honor society) initiation ceremony. I chose the rental car option, so I picked up a Chrysler country & town from the airport and drove to Redmond. It was a huge minivan and way too chunky for me. I stayed at Marriott Residence Inn, super nice and cozy, loved it. It is also only one freeway exit away from Microsoft; won’t have to worry about caught up in traffic during rush hour. When I finally showered and settled, it was already 2:30 am, not exactly a good start to get ready for my interview at 10:00 am on Thursday. The next morning, I headed off to Microsoft without any breakfast. As you can tell, right now, I have made many mistakes against good interview preparation advice, but not having breakfast was definitely not a big one of them, because Microsoft offered warm breakfast and supplements in the waiting lounge together with a surface/kinect table and XBox.
A lot of candidates and recruiters were socializing in the room when I arrived. I talked to a guy from Northwestern, a guy from Olin College, and a couple of others. They were all third, four, or master students, so I felt real lucky to be there as a second year. Then, a recruiter gathered some of us to go over the agenda and some housekeeping information. Our first interviews were all scheduled for 11:00 am. He suggested we just play around with the cool toys and relax until our own recruiter come find us. One by one, all the other candidates have been called and sent off for their first interviews, still, no sign of my recruiter yet. I walked over to the computer station and pulled out Microsoft on Yahoo!Finance and read through related latest news, headlines, and press releases.
When we finally met, my recruiter turned out to be a nice Hispanic lady. She provided me with what I needed and called me a recruit shuttle to Building 35, my actual interview location. She encouraged me to talk to the Microsoft concierge and explore Seattle a little after I was done. The Microsoft taxi drivers were really friendly. They tried to have conversations with me and make me feel comfortable. They were also great sources for me to learn more about the company.
I should mention that two days before the interview, I got an email with a list of pre-interview questions, such as items you want to be asked about during your interview day, three most important factors in choosing a company, your hobbies, and why Microsoft. My first interviewer was a PM. He’d been part of the company for three years and he was an intern before. One fun fact about all my interviewers was that they all come from different parts of the world. Only one of them was American and he grew up in southern California; I think that was also my favorite interview of that day. I would say the first interview was for the most part behavioral. Since I am writing this three weeks after it happened, here is a rough recollection of the questions:
Past:
- Tell me a little about your projects.
I gave both high level overview of what the programs did and significant details of the implementations for two projects. He had a lot of follow-ups like what was the most challenging part, what did I learn, how I dealt with the challenges, what I would have done differently or how I could improve the programs.
- Leadership and team experiences that were special to you
- Things you have learned inside or outside class
Forward looking:
- Academic plan (short-term)
- Plans for the next 3-5 years (long-term)
- What do you hope to get out of an internship (not necessarily Microsoft)
How you think:
- How would you test a website to make sure it will be up and running all the time
- What sets a good developer apart?
Then I had lunch with another PM, who had been at the company for around 15 years. This was a great opportunity to learn—ask any questions and seek advice. Some of the highlights were he basically gave me a database 101 lecture, and we talked about grad school vs. work, latest trends of the industry, and some more about Microsoft. The cafeteria was also really nice. After lunch, we went back to him office for some questions. The problem he gave me was a design question. He was a horse jumping fan and judge. In a race, the judge would record performance of each horse on a stagger sheet as it passes the finishing gate and rank the results as the race proceeds. He allowed me to interview him first about how to understand the results chart and how the game is structure and then I had to come up with an interface design of the computerized process. I won’t bore you with the gory details, but the key was to see if I could realize that the horse whose jumping is being recorded is independent from the already recorded data. Luckily, by intuition, I answered exactly what he was hoping for. He actually wrote the software and had been using it for a few years, so he showed me the finished product and it was very cool to see that. At the end, he explicitly told me that I did really well answering the question and it made me feel more confident to handle the rest of my day.
The third interviewer just got back from a trip to San Francisco and he accepted the interview invitation two hours earlier. When we first started talking, he asked me if I was on any specific track and what my plan was about going to grad school. We also talked about my work right now on web content design. Along the same line with the web stuff, he asked me to design a restaurant reservation system. I was confused about what he was trying to get at and how much detail I should go into, so I talked as much as I could about all the details. Because I hadn’t learn databases yet, he then asked me how I would record reservation entries to an old-fashioned paper journal. I started to get a little nervous. As I was talking, I was trying to think what I would say next because I hadn’t come up with a good solution yet.
First, I told him my general approach and he said “OK” in a tone that I wasn’t sure if he agreed or not. Once I started going through examples, I decided to change my original algorithm and he responded, “I was hoping you would say that.”
However, his voice didn’t tell me if he liked this approach any better, but I felt it was better and I didn’t think of anything else, so I follow through with it. Then, I was asked to do object-oriented programming on an interview for the first time. I was pretty good at when I was doing a lot of projects involving classes about a year ago, but I haven’t actually coded any objected-oriented stuff for a while now. Even though I did review that a little bit before hand, I wasn’t sharp on all the details. The question he gave me was about displaying shapes on a screen. I sweated over the abstract base class, but I believe I got the main points right.
After talking to some older students and looking back now, the fourth interview was probably the most crucial. I would guess he was the hiring manager for my position. Someone told me that getting to the fourth interview itself is already a good sign. My interviewer started off with the type of self-reflecting questions that I am not particularly a big fan of. “Which interview do you think you did the best?” “Which one do you feel least confident about?” We chatted a little about what I was looking for from an internship and why I am interested in computer science. Next, he threw at me a coding problem. It was somewhat similar to the merge algorithm of merge sort, except it was merging one sorted array into another sorted array with the exact space available. I knew what algorithm I would use right away, so I explained my approach to him while I was hammering out the details in my head. I started coding on a white board as he approved my algorithm. After I finished coding, I ran the example he gave me in the beginning through my code and I caught some boundary mistake. I tried to be talking as much as I could while I was writing. While I was checking with the example, I wrote out and updated the variables on the white board.
Once I was done, I looked at him and said, “I the code outputted correctly with the example as the input, but I haven’t checked other cases. Would you like me to do that?”
He sat me down and asked me what I knew about the role I was interviewing for without commenting anything on my code. I wasn’t sure what the immediate shift in topics indicated, but I followed his lead. He provided me a more realistic idea of what the job entailed and clarified some of my misunderstandings about the role. I asked him some technical and factual questions along the way and I learned a lot through our conversation. He couldn’t disclose some of the information due to business confidentiality, but he gave me very informative simplified answers.
That was the end of my interviews. Then, I went back to the recruitment building and waited for my recruiter. I talked to some guys in the room who just finished their interviews too and one of them was actually interviewing for the business program. He told me that Microsoft organized a dinner for all the business candidates at a sushi place and I was welcome to join them. I kind of wished there was something like that for us and I thought it would be a great opportunity to meet more people. However, I decided to spend the night on my own in the end.
I went sight-seeing in Seattle for the next two days and it was a ton of fun. More on that will come later.
Questions I asked my interviewers:
- What do you do? What is your current project?
- How is being a full time employee different from being an intern?
- What is the typical workflow of a project?
- How would you compare Microsoft to other companies you have worked at?
- What will I likely be doing?
- How do you apply patches while the site has to be up and running 24/7?
Obviously the company was trying to sell itself to me and they did such a damn good job that it felt genuine and personable. From the interview scheduler, the on-site recruiter, the taxi drivers, to the interviewers, everyone made me feel they were sincerely trying to know me and wished to help me get what I want.
More Pictures: