Visit our sponsor Five Planet Juices  
Home
Microsoft Interview Process
Microsoft HR Questions
Technical Questions
Puzzles/Riddles
Resume Tips and Template
Discuss
Question to Interviewer
Interview Tips
Term Of Use
Site Feedback


Discuss Microsoft interview related questions

Author Thread: Microsoft Interview Travel log
mdigitale
Microsoft Interview Travel log
Posted: Thursday, May 15, 2008 1:13 PM (UMST)
I just stumbled across this website and thought I would share my experience with the Microsoft Interview Process. I stopped by Microsoft's booth at a job fair and gave them my resume. They asked some brief questions to get a feel for what type of development I was into. About 2 weeks later, I received an e-mail requesting that I participate in an interview via telephone. It was kind of a pain because they prefer you to be next to a computer when you're on the phone (so you can use Live Meeting with their interviewer) but I made arrangements and agreed to do the interview. The interview lasted about 30 minutes. The first few questions were just to get a feel for what I enjoyed about software development, why I submitted an application to MS, etc. The meat of the interview was the interviewer posing a scenario: "I am a software developer and a client (who knows nothing about software development) asks me to design a software application that requires a multi-dimensional array to be represented using a one dimensional array. I was asked to write code to solve this problem. I knew the answer immediately after being asked the question so I began typing my solution in Live Meeting. I was told I could use any language I wanted -- I chose C/C++. I thought I did a great job solving the problem (only took a few minutes), but became a little disappointed when the MS interviewer was saying "your solution won't work." I was thinking to myself, "I know this works -- I used this solution in a past project lol". Anyways, after walking through some examples with the interviewer, he conceded that my solution did indeed work. I was kind of annoyed at this point (though I didn't say or do anything to let the interviewer know this) -- As I had written my solution, I had explained my reasons for each line of code I wrote so I thought my solution would be clear to him. Now, I felt as if he was thinking I was showing off by using a more clever algorithm that he didn't know about and would therefore give me a bad review. *sigh* Another question I remembered him asking was "What is your favorite software package and what is a change that you would make to enhance it" I purposefully steered clear of choosing an MS product as my "favorite" (in part because my favorite softwares are not made by MS), but also because I didn't want to say something that would be offensive. (ie. Me: "The new Word 2007 interface sucks! I would change it back to the traditional style..." Interviewer: "That interface was the result of MY work for the past 2 years!!!" *click*) Anyways, once I hung up the phone, I felt like the interview went very badly. I thought all the questions were very easy and I was confident I had solved them correctly and efficiently, however the fact that the Interviewer had told me my solution wouldn't work...and I had to step through the code with him to point out why it would work...and then having him concede I was right, didn't seem like the best route towards getting a review. At this point, I pretty much just scratched Microsoft off my list of companies and focused on some other businesses that had requested interviews (IBM, Intel, etc.) About two weeks after the interview, I received an e-mail from Microsoft Staffing saying "your interviewer was very impressed with you and has recommended we continue the interview process." I was shocked! I completed their e-mail questionnaire, provided some dates that I would be available for interviews and waited. About two weeks later, I was sent an itinerary and ticket information. Microsoft did a really nice job on the arrangements. They bought the plane tickets, booked the hotel, got me a rental car (actually a brand new SUV), $75/day spending for food, and any expenses would be reimbursed (ie. gasonline). I flew into Seattle and arrived at 7pm. I drove the rental car to my hotel and was pleased to see that parking was included (free) for guests. The hotel room was amazing! According to the hotel's website, the room I would be staying in for the next 2 nights was $200/night. Since I arrived at the hotel rather late, I didn't know where anything in the area was (in terms of food) so I ordered room service. Yuck! That was the biggest waste of money ever (granted it was Microsoft's money, but still!) The meal was like $45 and needless to say I was still starving after eating the pathetic portions. The next morning the hotel offered a very nice breakfast buffet. I then drove to Microsoft's building #19. This building is their headquarters for recruiting. After you sign in, expect to sit around for a while playing with their gadgets and gizmos, talking with other candidates waiting for interviews, etc. I was also shocked at the number of candidates -- there must have been 100+ other people interviewing that day with Microsoft. Absolutely amazing. So the way it works is Microsoft contracts with a transportation company that provides transport between the various MS buildings. They probably have 50ish buildings in Redmond -- its very nice to know once you make it to building #19 you don't have to navigate at all from there. The first interviewer I met with was from India. He had a very strong accent and I remember thinking the hardest part of this interview was going to be understanding what the question is. The first question I was asked was to consider a memory location of arbitrary bitsize. Write a function that swaps the high-order bits with the low order bits. So for example, if the word size was 64bits, the hi-order dword would be moved to the lo-order dword and the lo-order dword would be moved to the hi-order location. This seemed like a nice easy question and I solved it quite easily using memcpy with C code. The second question was how I would test this program to ensure it worked correctly (ie. using machines that have different word sizes, etc.) I wasn't sure how the interview went. Like the telephone interview, I felt like I had solved the problem correctly and quickly, however the language barrier was something I'm sure that didn't make a strong impression on the interviewer. The next person I met with was a manager for one of the product groups. She took me to lunch at one of the MS cafeterias. I was thinking lunches were free to MS employees, but before I realized they were not she had bought my lunch (hopefully not with her own money!). Since I was getting reimbursed from MS up to $75/day I would have preferred to have bought my own lunch. Anyways, watch out for that if they take you to lunch. We had a pleasant lunch, talking about Microsoft. She explained how she had joined the company, the work she did, etc. She asked my impression of MS and what I thought about issues facing the company. I thought our visit and lunch conversation went very well. The next interviewer I met with was a member of the Windows Server team. Again, foreign with a little bit of an accent, but much easier to understand than the first interviewer from India. The question he posed was probably the most complex one Microsoft presented to me -- it wasn't really that complex, however it was something I had never thought about before so I was basically flying by the seat of my pants on this one. He drew a directed graph (the computer science type) -- a network of nodes with arrows on arcs leaving nodes and going to others. Some nodes had multiple arcs entering and leaving, while others had only one entering/leaving. His question was to write a program that would detect whether there were any cycles (loops) in the graph. About this time I was wishing I had taken the graph theory course ;) Anyways, I had to think about it for a couple minutes and then explained my logic in thinking along the way and I was able to solve the problem. It took me longer than the other problems, but I still finished within the allocated time. It was an interesting problem. The next interviewer I met with also had an accent. I just couldn't catch a break! He sounded English so a much easier accent for me to handle. His first question to me sounded like "Do you know what a cross wood is?" I'm thinking to myself, "A cross wood??". The word wood was bringing golf to my mind. I said, "No, I don't". He looked shocked and disbelieving. He then begins to draw and example on the whiteboard. "Ohh!", I exclaim. "A cross WORD puzzle!" Of course I knew what that was, but of course the accent always catches me off guard. Anyways, I don't think our rift in communication bought me any bonus points. This guy wanted me to build a program that would come up with a list of potential words that would fit into a crossword puzzle based on the length of the word and known letters for the word. I thought this was another creative problem. I came up with a solution quickly, but the interviewer ensured we didn't finish early by asking "what if" questions that extended the problem from the starting scenario. I wasn't sure how this interview went. I really think I ticked the guy off by misunderstanding his pronunciation of "Crossword" :( The last interviewer I met with was also from India, however his accent was significantly less noticeable than the first interviewer. The first thing he wanted me to consider was an ordered circular list. The numbers in this list are all in order, however the start of the list may or may or may not be the smallest number in the list. Write an algorithm that returns the smallest number in such a list. This problem seemed very trivial to me and I was able to quickly produce the code. By this time, we were coming up on 4:30pm and I could tell the Interviewer was getting anxious to wrap it up for the day. His final question was to implement a stack using 2 queues. Again, pretty easy. After all the interviews, I went back to building #19, got in my car and headed back to the hotel. I found some real restaurants I could eat at (instead of wasting $$$ on room service). Surprisingly, everything in Redmond and surrounding area seems very expensive -- I still ended up paying $25 for something I word normally pay $13 for at home. I returned home and waited to receive the results. It was funny, because it seemed like the day after I submitted my reimbursement request, I received the results. And the results were... *drum roll*.... Not at this time. Of course they made the rejection letter sound a little more fluffy, but the result is still the same. In some ways I was disappointed because I have always admired Microsoft and I think I would have enjoyed working for them. In other ways, I wasn't disappointed -- I was happy they had responded quickly so I could make an appropriate decision for other job offers I had received. Also, the sheer size of MS makes me think that it would be easy to be seen as a number rather than a team member. I'm not sure if thats how it is, but there are definitely a lot of employees. I'm very happy that I had the opportunity to interview with Microsoft. It was a very interesting experience and I enjoyed seeing their facilities and talking with their engineers. I accepted a very nice position with another company and hope to stay with them for the longterm. The experience gave me a little more insight into the MS experience. Good luck on your interviews!


New Posts

  • uu jewelry
    Posted by nemoAnonusy on Thursday, November 20, 2008 (UMST)

  • Philip hypocritic opened the uspecting the change.
    Posted by Fektshho on Thursday, November 20, 2008 (UMST)

  • English army popular one ntelligent individual mobile.
    Posted by Ulvpjtlt on Wednesday, November 19, 2008 (UMST)

  •  

    New Articles
  • Phone screen from MICROSOFT Denmark for SDET
    Technical Phone screen after Escreen

  • Please post some non-tech qs for User Experience and Business Analyst job

    I am a CS Grad applied in non-tech position.Please help!


  • Combinations in a character array.
    Write a program that takes input a char array and outputs all the combinations of the characters in the character array.
    Example: consier char array {'a','b','c'}
    the output shouold be abc,cab,bac,acb,cba,bca that is all the combinations of characters 'a','b','c'.


  •  

    Most Popular Posts
  • Microsoft Corporation Salary rates
    Posted by sachin on Monday, October 22, 2007 (UMST)

  • My Interview at Microsoft
    Posted by eMSFTAdmin on Sunday, August 13, 2006 (UMST)

  • Technical Phone interview
    Posted by Jayashri on Sunday, April 15, 2007 (UMST)



  •