Recently, I had the opportunity to interview with Microsoft for their Software Engineer in Test position. The purpose of this post is to assist anyone who is about to interview with them, and hopefully provide them with some information that I did not have. First off, Microsoft conducts and very unique, and surprisingly challenging interview. Microsoft has the luxury of choosing just the right person for their job, and it may not have anything to do with their technical ability. I will use my experience as an example, because that is what I am most familiar with, but I don’t what to dwell solely on myself. I applied through my university’s career fair and secured a second interview on campus. After the second interview, Microsoft arranged for me to interview at their Redmond, WA facility. I will gloss over the details of the first two steps because they were pretty straightforward. Throughout the processes the interviewers will ask simple, yet revealing programming questions. On Florida Tech’s campus, I was asked the following question: two strings are given, remove all occurrences or the characters in the second string from the first string. For example: when given ”Interviews are challenging” and “ial” then output should be “nterviews re chenging”. I solved this problem, yet my solution was terribly inefficient. Nonetheless, I was granted a third interview in Washington.
The worst part about the interview was that I had so many different people telling me what it was going to be like that I had no real idea of what to prepare for. I cannot speak for all positions, but I am fairly confident that if you are interviewing for an SDET position you will have a similar experience as mine. First of all, to ease concerns, everything is taken care of. All expenses are refunded, and your trip will be a comfortable one. This is important to know, so that you can relax and focus on the important part, the interview! The interview day starts by meeting an overly outgoing concierge. He or she will try her best to make you feel comfortable. The first “interview” you will have is with you recruiter. This is the only person who truly wants you hired, no matter what. Your recruiter will explain to you what teams you are interviewing with (you will not know ahead of time) and generally what to expect during the day. Be sure to ask your recruiter a lot of questions, they are there to help! Mine was very helpful and suggested some great questions to ask my interviewers. After this, the difficult part of the day begins.
Your recruiter generally will set you up with three teams to interview with. I was only given two. These teams are chosen based off of your interests and your talents. Initially, you will have one interview scheduled with each team. As the day goes on, if a certain team likes you, more interviews will be scheduled with higher ranking members of the team. The more interviews the better. I ended up with five interviews. Each interview is an hour long except the lunch interview, which is an hour and a half. This is where they hit you with the “why do you want to work here?” and “what are your goals?” questions. I warn you, it is one of the most awkward lunches you may ever endure.
Every interviewer will ask you a programming question and you will either solve it on a white board, piece of paper, or a computer, whichever is most comfortable. You can find examples of these question all over the Internet. The questions are simple, but I recommend you practice them ahead of time. As the day wears on you will be pretty tired, and you will forget how to do these programs unless they are engrained in your mind. I was asked the following questions: convert ASCII to integer, find the nth element from the end of a singly linked list, convert integer to ASCII, reverse the order of the words in a string, find all combinations of strings a phone number can make (2 – ABC, 2 – DEF, etc), and finally, write out the queue and de-queue methods for a fixed length queue that is shared between two objects. As you can see, they get progressively more difficult as the day wears on, which means if you don’t practice you will fail towards the end. If anyone wants a quick walk-through of the solutions let me know. The point of the programming questions is to test fundamental computer science skills: mod, div, linked lists, recursions, semaphores, etc. These are important, however solving them is not necessarily the key. Microsoft is more interested in how you think about problems, how you approach them, and how you come up with a solution. Be sure to think out loud when solving the problems. Practice this ahead of time, since if you’re anything like me, you usually program quietly by yourself.
In the end, the same principles apply to this interview as with any other: ask a lot of questions, be interesting and interested, prepare, and get plenty rest. You have the skills for the job, you just need to be able to perform and demonstrate them. I must stress again to ask a lot of questions because you are interviewing with multiple teams, and there is a good chance that you may get an offer from more than one of them. Use the interviews as a chance to understand the teams better so you can make an informed decision. I learned some things about the Terminal Services team I really did not expect, and it scared me a little. If you have any questions, post a comment here and I will reply. Good luck!
25 responses so far ↓
Chetna // June 30, 2007 at 10:26 am
Hello Sir
Thanks for sharing you experience with us ! I have my interview for the same next week.Can you please tell me what all subjects should I revise.Like c/c++/java etc ??
Thanks !
Chetna
Sano // July 20, 2007 at 9:39 am
Hi,
I will also have an SDET interview next week. Kindly post the walk-through of the solution to the problems you stated above. It would of great help.
Thanks,
Sano
Murlk // November 16, 2007 at 12:04 am
Hi, I have a SDET telephonic interview scheduled next week. What kind of questions can I expect in the telephonic interview.
Request your help.
Regards,
Murali Krishnan
Ritu // November 29, 2007 at 1:56 pm
Hey,
Can you please tell me what was ur answer or approach for “find all combinations of strings a phone number can make ”
Thanks
Ritu
please post some answers // January 8, 2008 at 9:41 am
Hi, I am preparing for my interview for SDET also … Can you post the walk-through of the solution to the problems you stated above. I did not find as many examples of these question as I expectd, but I am still loking.
Thx
sujay // February 8, 2008 at 3:18 pm
Hi , I am preparing for the interview for SDET it would be great if I could talk to you ..
I would like to know the topics and details about the interview.
Hoping to hear from you
Thanks you
Jonny Tsai // April 22, 2008 at 6:46 pm
Hey how are you? I am actually going in for a SDET interview and your posts have helped tremendously, I am not quite sure what the last coding problem is about. Can you clarify on what you had to do? A dequeue and enqueue function that is shared between two objects?
Liferocks // May 6, 2008 at 7:27 pm
Hi Jonny Tsai,
Do you mind sharing what sort of questions you faced in your oncampus interviews. I have an interview with MS pretty soon.
I hope to here from you.
thanks in advance for the time.
Mike // June 9, 2008 at 8:55 am
Hello every one,
Does any one experienced the MS for SDET over the phone interview?
I have inteview schedule over the phone with the hiring manager. It will be live interview using the the internet for remote candidate.
Please explain if some one went through this earlier.
Thanks
anil // August 20, 2008 at 10:31 am
Hi,
I have an interview for an SDET position next week . Could you please send me the interview questions asked for in Testing and C#?
Thanks
Anil
KB // August 28, 2008 at 1:51 pm
Hi,
I have an interview for an SDET position this week . Could you please send me the interview questions with answers asked for in Testing and C#?
Thanks
KB
BK // September 6, 2008 at 12:50 pm
thanks for the info, can u share the approach and solutions for your answer
BK // September 6, 2008 at 12:53 pm
Hi,
Can you also share the testing and c# questions
Mahmoud El Sheikh // September 17, 2008 at 3:41 am
Hello,
I am preparing to have interview in SDET, can you help me please by sending me the interview questions ?
my email is mahmoudoud@hotmail.com
Aru // September 30, 2008 at 3:34 pm
Hi I have interview with MS. I would really appreciate if you can give the c# coding questions they can ask.
Chanchal // October 13, 2008 at 7:10 am
Plz send me the solution to te above programming questions
RS // October 14, 2008 at 5:41 pm
I will be having an SDET interview next week. Kindly post the walk-through of the solution to the problems you stated above. Thanks for your help!
Swetha // October 16, 2008 at 10:38 am
Hi,
I will also have an SDET interview next week. Kindly post the walk-through of the solution to the problems you stated above. It would of great help.
Thanks,
Swetha
Swetha // October 16, 2008 at 10:46 am
Hi,
I will also have an SDET interview next week. Kindly post the walk-through of the solution to the problems you stated above.
Thanks,
Swetha
Inder P Singh // January 14, 2009 at 1:42 am
Your post is in accord with what I have read about the interviews at Microsoft on other websites. It looks as if they aim to recruit people with strong analytical and logical skills as well as good programming skills.
Thanks,
Inder P Singh
Divya // January 14, 2009 at 10:11 pm
Hi, This information is really helpful. Can you send me answers to the questions of your interview. I have an interview scheduled next week. I would appreciate if you can send them ASAP.
-Thanks
Divya
Vinita // April 11, 2009 at 8:00 pm
Hi,
Thanks a lot for this information.
Can you please send me the answers to your interview questions? I have an interview scheduled next week.
Thanks again!
Vinita
Mark // April 21, 2009 at 11:08 pm
Hi,
Thanks for the info…very useful
I’m flying to WA for an SDET interview. Could you please send me a walk through of your solutions. I am especially interested in your solution for the last question.
Also, did they expect you to write c++? or java/pseudo code would ok?
Thanks
Mark
susanth // June 10, 2009 at 1:52 pm
Hi,
Thanks a lot for this information.
Can you please send me the answers to your interview questions? I have an interview scheduled next week.
Thanks again!
susanth
SS // July 7, 2009 at 7:42 am
thanks for the information.
Can you please send me the answers to your interview questions? I have an interview scheduled next week.