Wednesday, October 14, 2009

Microsoft Interview Results

I got an email from Microsoft today. Although I knew I didn't perform well on the phone/ LiveMeeting interview last Friday, there was still that small bit of hope that maybe I displayed something that they liked. . .

The Microsoft interview is easily the most grueling technical interview I've ever endured. But it was also the most FUN! (Speaking of the process in Redmond). The problems given are designed to make you think, and they sure do. I understand that they don't expect a candidate to get the problem 100% correct right off the bat (or at all, for that matter). They're really observing problem solving skills. My head hurt so bad after that interview, I went back to the hotel and just slept for like 5 hours. Then I got up and went to the bar.

This phone interview is my third meeting with Msft. I had a preliminary interview at a national convention this past March, and was flown to Redmond the next month. I thought I gave the performance of a lifetime on the six (6) (yes, s-i-x) interviews I had that day. I left Redmond feeling really good about my chances, but was sorely disappointed a couple of day later. That was a really tough disappointment - I did my absolute best, and it was still not good enough. Eventually, I got over it and decided to reapply as soon as I was eligible again.

Back to the present. . .

As I opened the email, I braced myself for the imminent rejection, expecting to see an "unfortunately" right near the beginning. When I got to the fourth sentence, and there was still no "unfortunately," that little bit of hope began to shine brighter.

And then I read the second half of the fourth sentence:

we will be pursuing other candidates whose background and abilities more closely match our needs at this time.

And things quickly went back to normal. The world didn't end. As I said, I knew I didn't perform very well in this one. I'm not upset or discouraged; but I know what I have to do now. I'm on a mission to become a better programmer. I have dedicated myself to learning as much programming as I can. I'm going to immerse myself in so much code that by the time I'm eligible to interview again, I will be able to better display what I know, and be the ideal candidate.

Here's the problem I was given. . .

For an array of size n, choose the range of numbers which yields the greatest possible sum.

For this one, it happens to be array[0] through array[6], which equals 23. 
But these are just random numbers I came up with for this example. It doesn't always end up where it is the entire range.

I managed to explain a brute-force method of finding the solution. But drew a blank when asked to describe the efficiency of it using Big-Oh notation. So, I faltered there. Anyway, I have been working on my CS basics, so that should be sharper next time around. 

Very sleepy now. Good night!

PSP Programming

Still very excited about learning PSP Programming. Today, I completed another tutorial, which dealt with outputting different colors and formatted text to the screen.

Although right now, I'm just following steps, it's still a great learning experience. I'm commenting my code so that I can look back at it and tell what each block does. These tutorials are really good. I wish they were available in a nice little PDF instead of just on the website.

Here's the tutorial I did today. The final product is an application that looks like this

RED: 0

And using the direction pad, I can control the values of Red, Green, and Blue, respectively. As the values change, the number updates, and the background color changes accordingly.

My wife humored me by telling me how "cool" it was. She's obviously very good with children :-).