February 2005 - Posts
In a recent post about my interview experience I was asked to tell the recruiter what I was most proud of so far in my career and the answer was my current track record. This answer has generated quite a few emails and I thought I would try to address most of them in this post, rather the replying back to each person individually.
What do you do to prepare for an interview?
I have never been the type of person to cram for an exam or interview, and this is because I feel that if I don't know the material well enough walking through that door in the morning, there is nothing that I am going to learn the night before that's going to really be beneficial.
One could argue the point above that I could memorize the complexity of certain algorithms, the way to explicitly solve a problem, or even the answer to every MS question I can find on the internet, and this is true, but HOW DOES IT HELP? In my mind it doesn't. You are only putting on a show for the person that is interviewing you and all you are doing is reciting data. If the company wants something to recite data, the can write a program to scour Google for data. The company is interested in YOU and the knowledge and wisdom YOU have, not the raw data.
The night before an interview I always just do what I love doing. The night before the MS interview it was solving a FreeBSD LDAP authentication problem with Windows Server 2003 and Active Directory.
Are there any books that you read or review before the interview?
The simple answer to this question is no. I do try to read a lot of books when I have time, but lately I have been very busy. The most recent books I have been reading are Threat Modeling, Object Thinking, Code Complete 2, and Programming the Windows Driver Model.
Assuming you have been in the situation with multiple offers at once, how have you dealt with salary negotiations?
This is very true that I have been in the described situation and I have actually never taken advantage of it. The primary reason is that, I look at the value I will be bringing to the company and the value the company will give to me. Obviously if the company did not make a good initial offer then they really do not see the value in me and this may not be a company I really want to work for. This is not to say I will always work for the company that pays more either, I will work for the company that together we provide the most value to the customer.
Here is a list of the questions that I received through out the day during my interview. These questions are in no particular order (other then the order I remembered them).
- If you were given the assignment to test a keyboard, how would you test it?
- If you were given the assignment to test a clock, how would you test it?
- Let's say that you are a building inspector and have been assigned to this newly constructed 100 story building. Your last job is to test the elevator systems in this building, how would you perform this task? Please lay it out in test plan form
- You are an employer of a company and you are in the process of hiring a new employee. You must pay this employee in gold at a rate of 1 oz. per day. This employee will work for you for 7 days and must be paid every day, no more and no less then 1 oz. per day. You happen to have one 7 oz. bar of gold and may make two cuts on this piece of gold. What cuts would you make in order to successfully complete the task?
- You are given lengths of string that will always burn in 60 minutes from one end to the other. You have been tasked with measuring 45 minutes using these string how would you do it? Now imagine that the strings will burn from one end to the other in 60 minutes but they will not always burn at the same rate. Sometimes the strings will burn faster or slower at parts. How would you measure the time now?
- You are given 5 colored objects and need to arrange them in a circular fashion. How many unique ways can you arrange these objects?
- Please write a function that will determine if a number passed into it is a perfect number. How would you test this?
- You have been asked to write a program that will determine the winner in an election. If given N candidate and given a step of M, you must remove every Mth candidate from the list wrapping around when reaching the end. If given N=7 and M=3, the result would be 4. What data structures might you consider for such a problem? Why? Now write the code using data structure X.
- Please write a function that will determine and return the duplicate strings given two lists of strings. How would you test this? What is the complexity of this function?
- Given a track that extends infinitely in both directions you need to write a program that two trains will execute in order to make them collide. Both of these trains start on the track at a spot marked with an S. You have four instructions that you may execute, Move Left, Move Right, GOTO and SGOTO. GOTO will go to a label in your code and SGOTO will be executed when the train is over an S mark. Write the program. A picture may be helpful.. I might post one later...
- Please write a function that will reverse the words in a string. Describe how you would test this code
Example: The sky is blue. -> .blue is sky The
- Given a two dimensional array. If you encounter a row that is full of data, shift everything above this row down one position, effectively replacing the row and adding a blank row at the top. Write a function that will do this in place. A picture would also help with this one as well...
First I have finally decided that GM does not have any idea how to produce a windshield or at least does not know how to determine who a good producer is. GM windshields are horrible. first I have never seen any other manufactures car have so many broken windshields. Secondly GM windshields end up getting this nasty film on the window that makes it useless to see out of when driving in the rain or snow. I got so fed up with the windshield today driving home that I don't think I will ever purchase another vehicle made by GM EVER! If they only would have tested their product a little maybe we would not have these problems.
The next thing that really irritated me today is that Ingham and Eaton county both have the worlds worst road commission. It didn't even look like they had touched the highway this morning after last nights snowfall and it was almost 11:00 AM. I don't care that it was a Sunday, people are employed to do a job and that job must be completed when the time has come. You could say I am a little bitter or don't respect these workers and their families, but truthfully and honestly I do. If you want to complain about this, the next time you go into the emergency room, just imagine if the doctors decided to too show up. They are hired to protect the public health and government workers are hired to protect the public good and help provided a safe community, but these two counties obviously failed at this test.
Anyhow enough ranting for now...
On Friday, February 4th, shortly after I got out of an interview from another company I received and email from a Microsoft Recruiter. The email stated the he was interested in talking to me within the next week. I figured I would take this opportunity to chat with the recruiter to see what could come of it.
The recruiter emailed me back stating that he would like to chat on Friday, February 11th. Even though I was going on be on the road at that time, I figured it could not hurt to chat with the recruiter for a few moments, who knows that may come of the chat. During the call I was asked how I would test a keyboard. This was a very interesting question, but still a lot of fun trying to answer.
The possibilities of other potential offers came up during the call and I told the recruiter that I had another offer, but did not know the details of it yet since I had not been home since it was sent out. The recruiter mentioned that I should get back with him as soon as I found out the details of this offer. On, the morning of Monday, February 14th I contacted the recruiter and told him I honestly have one day left on the other offer, but was going to get it extended so that I could take care of some other personal issues.
Later that day the recruiter responded asking me not to accept the other offer yet and to give Microsoft a fair chance for an interview. He mentioned that I would be flown out to Redmond in the next 5 days for an interview, if that worked with my schedule. At this point, I wasn't sure how to respond, but was excited to go through the interview process.
When I broke the news to my fiancé at the time (yes, on Valentine's Day) she was not to happy about it. She would rather not have to move if we didn't have to. I told her the chances of me getting an offer were very slim, but I wanted to go through the interview process either way because it would be a great experience. She agreed that was fine so I told the recruiter that everything was a go.
On, Tuesday, February 15th I received all of the details about the trip to Redmond and found out that I would be leaving around 9:00 AM the next morning for Seattle. At this point in time I was definitely pretty excited. I was not told what team I would be interviewing with, as the team's positions change very rapidly, and I should ask my recruiter on the morning of my interview.
The trip out to Redmond was flawless. My flight got in early at SeaTac, there was no line for the rental car, and the hotel was very easy to find. That night I had some dinner, took a trip over to campus to be sure I knew where I was going (got lost in the mean time), then stayed up late (1:00 PST) trying to solve a FreeBSD LDAP authentication problem, which is pretty much all fixed.
I finally went to bed, then woke up at 4:30 AM PST (7:30 AM EST), and could not go back to sleep. So I just laid in bed thinking about what kind of questions I might be asked in a few hours and rehearsing testing and coding techniques in my head. I finally decided to get out of bed around 7:00 AM PST, checked my email, chatted with a few people, then hopped into the shower. When I got out of the shower I was greeted by a great ear piercing noise from the fire alarm. I could not smell smoke in my room or in the hallway so I casually got ready (wearing jeans, an orange long sleeve t-shirt, and my I Love C# shirt), grabbed the laptop, and headed downstairs. The moment I got to the first floor the alarm stopped (as I figured it would).
I then had a great breakfast of English muffins, tea, eggs, sausage, and waffles. Once I was done eating I went back upstairs, grabbed my computer bag, the GPS and a few other things. At this point in time it was about 8:15 and I had an hour and fifteen minutes before I had to be at the interview. I figured I would drive by a family friends house for a few to say hi before the interview because I was not sure how much time I would have after the interview to stop by. Norma was glad to see me, but had a client show up about the same time I did so we could not chat for long. I hung out at her place for a few, watched the news, then headed over to campus.
I arrived at Building 19 (the recruiting building) around 9:22. I checked in at the desk, registered my car, and received my visitor badge for the day. I then looked around a bit and sat down on one of the couches across from a recent graduate of the University of Waterloo in Ontario, CA. This gentleman was also casually dressed as I was, but the others that were waiting were wearing shirt and tie or even possibly a suit.
I believe my recruiter (Cristal) came out first. I followed her back into an office and we chatted a bit. The most memorable portion of our chat is when she asked what I was most proud of in my career so far. I thought about this for a moment, and knew I may only have this opportunity once, so I wanted to be as open and honest as possible. I answered this question in the following way:
"Please don't take this answer in the wrong way. In no way do I mean to sound arrogant, conceited, or cocky, but at this point in time I must say that I am most proud of my current track record. What I mean by this is that I have always been offered a job at any company I interviewed at in person. I know that this may change some day and today may be the day, but this is what I am currently most proud of."
Shortly after our discussion I was taken over to Building 42 to talk with Jon Jung of the WebDev team. I think that opening the day with Jon was a great thing. Jon and I chatted about a few things, then we got down to business and he asked me one problem solving question and one coding question. I felt like I stumbled a bit on the problem solving question, but eventually figured it out, though I was still confident that I was doing a good job.
At one point during the interview with Jon, he mentioned that he looks for people that are very passionate about technology. I asked Jon at this time what his perception of me would have been, had I worn a Linux t-shirt rather then my C# shirt (I was honestly thinking about doing this. I even emailed Scoble asking what his thoughts were on wearing such a shirt). Jon responded that he would have noticed the shirt, but probably would not have thought much about it.
After interviewing with Jon, it was time for my lunch interview with Peixin Han. This was a great interview, because I got to eat food during it. During lunch Peixin asked how I would test a clock. My first question was what kind of clock is this, analog or digital? I asked a few more questions then I began digging into the test questions. We talked about how to test a clock for about 40 minutes. I think I covered a lot of good tests and scenarios, but probably could have come up with a few more.
Then once we got back to her office she asked me another problem solving question and a coding question. These were both fun questions. I came up with an immediate answer for the problem solving question, then she made it a bit harder and I had to think about it for a bit. I did end up solving both in the end.
After my interview with Peixin was over it was now time for me to head over to Building 41 to interview with Gus Perez of the C# team. I just walked over to Building 41 because it was across the street and it was sunny in Redmond on this day. Once I got into Building 41, I checked in with the receptionist, then sat around a for a few moments until Gus showed up.
I would have to say that my most challenging part of the day was with Gus. He only asked me two questions, both were a type of coding question as well as problem solving. The one I enjoyed the most was the one where I had to write a single program for two trains in order to make them collide, this problem may not seem to difficult, but given the circumstances and details of only having 4 instructions that could be used it made it challenging.
Next I moved on to meet with Kartik Shridhar. If I remember correctly Kartik is the SDET Lead for the VC# IDE. Kartik seemed to have a great background, a vast amount of experience and was a fun person to talk to. One of the questions that he asked me was how I would test elevators if I was a building inspector. This was a very fun question to answer and his comment was very accurate that I would never look at an elevator the same after it :-). The next question he asked me was a coding question that was fun. I didn't write the most optimized code on this one, but I did write code that would get the job done. I thought about the optimized code, but thought that I may not be developing a lossless solution and feared that it would not get the job done.
My final interview of the day was with Rusty Miller. When I met Rusty there was another gentleman in the room with us (Dennis) who was just sitting in on the interview to see how things went. Rusty and I talked a bit about my passion and love for what I do, strengths and weaknesses, as well as other aspects with the job. Then we jumped into the problem solving and coding portion of the day. I was very tired at this point in time as it was about 7 hours into the interview process. It was nice having the futon in Rusty's office that I could relax on during our conversations. At one point in time I just stopped writing code (I think I had most of it on the board that I needed) and just talked though the rest of the process. What I was thinking and what was coming out on the white board were two very different things so I knew it was time to put down the marker.
After our interview was up, Rusty then took me on a quick tour of the test lab to show me all of the computers that I would get to utilize if I were to be offered a job. This was a very sweet room and reminded me of my old wall of computers when I was living with an old room mate of mine. Rusty then walked me to the front of the building, called the recruiting shuttle, and kept me company chatting till the shuttle arrived.
I hopped into the front seat of the shuttle that was going to take me back to Building 19. There were two other gentlemen in the car besides the driver, and honestly they both looked whipped. Once was from the University of Waterloo and the other was from Florida (I don't remember which school). Once we got back to Building 19, we checked back in and were asked to hang tight in order to see if our recruiter wanted to chat with us before we took off. My recruiter came out very promptly, then I followed her back into the office. She was wondering what had happened to me because I was about 1 hour late getting back. I told her I thought the day went really well and I am exciting to hear what comes of it. Cristal at this time gave me a box of chocolates, a Rubik's cube, t-shirt, and some other neat little gift.
I then headed out to my car, back to the hotel, packed up, had dinner (wait.. Nope I didn't eat) and caught my plane. I almost didn't get on the plane because the flight was over booked by so many people. Fortunately I did make it on, but go stuck in an exit row so I could not recline my seat to sleep.
Once I got home the following day, around noon I checked my email. I didn't have anything too interesting except for some friends asking how it went. At this point in time I hadn't slept for about 30 hours and didn't really feel like responding. I did have to take Catie's car into the shop for an appointment and finally made it back to the apartment around 2:15. Just before I decided to lay down I thought I would check my email again and I was pleasantly surprised by and email from Cristal. She wanted to let me know that the C# team was going to be making me an offer an she would like to chat with me more about it around 6:00 PM that night. At this point in time I should have laid down to take a nap, but instead I chatted with lots of people. I finally just gave up chatting and laid my body down on the couch. It never felt so good to lay down even though I only got about an hour of sleep before Catie got home and we had to leave for Jackson.
At this point in time I have not accepted the offer officially, but I must say it was very nice and I am seriously considering it right now.
Well I had a great day interviewing at Microsoft for approximately 9 hours yesterday. I have been up for almost 24 hours and still have a few more before I get home. I will write about my experience possibly later today, if not tomorrow. In the short I interview with the VC# Team and the WebDev Team at Microsoft. It was a fun, challenging, exciting, and inevitably a long day...
Chandu Thota is creating blog maps like the one above.
Yesterday, I interviewed with a company and I think things went really well. (It's not that I am out looking for a new position either, but when a company contacts me I am more then willing to give them some time to sell themselves.) I was very impressed when I walked into their office, until they handed me a stack of paperwork to fill out. I understand why I need to fill this stuff out, but what I don't understand is why they couldn't have just given me a Tablet PC or let me fill it out on a laptop.
Later in the day during the interview when I was talking with the GM I made this comment and he appeared to take it really well. He actually mentioned adding that to his task list, in order to find out why they don't do it electronically and if they could. Overall it was a great day and I am looking forward to hearing back from them with their decision.