Friday, October 29, 2004

Disappointment

After all that work at the Expedia interview, this is the message I get today: "After carefully reviewing your credentials relative to the requirements of our current available positions, we have decided to move forward with other candidates."
So, Expedia is out of the picture.

But, I had an interview with Deloitte yesterday and today, and it seems pretty promising. I'm not getting my hopes up too high yet though.

Maybe I'll put my nose to the grindstone, and get all my homework done... or maybe I'll go to the bar. I'm not sure yet.

Tuesday, October 26, 2004

The big Expedia Interview

Background
I had a screening interview with Expedia, and then they invited me over to Seattle to do an 'interview loop' there. They paid for me to fly over there, for a hotel room, a rental car, and some food. That was awesome, it felt like I was being 'courted' by a company... which is a friggin' great feeling. So, I flew over there on Sunday, interviewed on Monday, and flew back today (Tuesday).

Interview #1 - Prash
After filling out a bit of paperwork, Prash came and got me, and took me to his office. And so began the day. We chatted for about 20 seconds, and then he gave me a programming problem. The problem was: "Write the 'grow' function for a C++ vector class". Easy enough.
The second problem he gave me was a bit more difficult: Reverse a linked list. It took me about 15-20 minutes to come up with the solution and code it. But, I learned one important 'trick' to these types of interview questions. When you figure out an algorithm that takes a duplicate data structure, you can usually 'massage' the given data structure to get the solution you want.

Interview #2 - Mark The Lunch Interview
So, I got a free lunch at the Expedia cafeteria... but, that didn't mean I wasn't getting more interviewing questions. During lunch, I got the question: "How would you determine if someone has won a game of tic-tac-toe on a board of any size?". This really took me longer than it should have to figure out. The crazy thing is... no matter how big the board is, the solution is constant time.
Then, he gave me a pretty cool question: "The government wants cars to keep track of whether or not they are speeding. The unit to determine this is already able to determine the speed of the vechicle, how would you finish it". So, I spent some time rolling some ideas around in my head. Determined it wasn't feasible to 'read' speed limit signs reliably from a car. Then I thought if the car had a Mapquest-esque database of speed limits, and a GPS to report coordinates to the unit, you could determine if the car was speeding. And, the database could be updated once per year when you get your emissions checked (I know not everyone has to have their emissioned check... but its a good idea).
Then we went back to Mark's office, and the coding questions started. First, I had to write a binary search for a sorted array. I wrote it recursively, because thats the way I learned it. Then he had me write it iteratively... which wasn't too hard either.
Now, you've got an array of size 10^6, with the numbers 0 through (10^6)-1. The array has duplicate entries, so there will me missing numbers. Write a function to find one of the missing numbers. The solution should be in linear time.
Mark was a cool guy, and he'd be fun to work with.

Interview #3 - Ryan
Mark and I actually talked for quite a while about my senior design project. Then, he asked me to code for him (suprise!). Given a sorted array of integers, write a function to remove any duplicates (e.g. 1,2,3,3,3,4,4,5 would go to 1,2,3,4,5). I came up with a solution to this, but it wasn't that good... so we talked about a way to make it better. This was my 'worst' interview... but even this one wasn't too bad.

Interview #4 - Mike(?)
The first one he had me do was: write a function to find the 2 biggest numbers in an array, and return the sum. Then he had me write a function to find the K biggest elements in the array, and return the sum. Both in linear time. There were some good optimizations for this one too.
Then, I had to write a function the removed space from a given array of characters. I told him about the solution that me and Ryan had discussed and how it applied to this problem. Then we talked about a few of the finer points of this problem. I didn't end up having to write any code for that problem, which was good... because my shoulder was getting sore from writing on whiteboards all day (seriously... it still hurts).

Wrap-up with Recruiter - Katy
Then I went and talked with the recruiter about how the day went, yadda yadda. She told me I'd hear back in 5-7 business days.

I spent lots of mental energy coming up with the solutions to those problems... so, I'm not to just divuldge them (plus, I don't want someone to 'beat' my work :)

It was a long day. I got there at about 11AM to fill out some paperwork. I left after my talk with Katy at 4:30PM. It was 5.5 hours of almost pure 'testing'. It was F-U-N though. I learned a few new algorithms, and discovered a few too. It was also D-R-A-I-N-I-N-G... thats a long time to be constantly getting questions and pressure to come up with better solutions.

I've got a little interview with Deloitte on Thursday. So, maybe that means another post for the blog :)

Thursday, October 21, 2004

Job update for the day.

So, I had my screening interview with the recruiter from Google yesterday. And that went well, we just kind of BS'd for a few minutes. Then we set up a technical interview over the phone for today. I'm going to give a rundown of what today's interview was like, in case anyone cares.

First Question:
Write a function (in whatever language you want) to find the next prime number after a given number. I decided to do mine in C.
So, the function declaration was something like: int nextPrime(int num);
If you want to, you should write the function, and I'll tell you how you do. This question was actually pretty cool, because I learned quite a bit in it. My interviewer (Mark) was very familiar with C, and taught me a few thing. I came up with a decent solution, then we talked about it... and made it better.

Then we talked a little bit about the representation of doubles in memory, and, if they can misrepresent an int.

Second Question:
If I gave you K sorted arrays, each of size N, how would you put them into one big array, and what would the big-O of the procedure be?
The first solution I came up with was to use a minheap.
Then we talked about what if the arrays were so big, that only 2 of them could fit in memory at one time (there is 2N available in memory). My first solution worked for this, but would have been slow b/c of harddrive accesses. So, I came up with another solution that merged 2 of them together. then merge the next 2 together...
The big-O of both of the solutions was O(KN log K). But, the second was better, because it had less disk accesses.

BSing
I asked him about his job. He loves it. Everyone there loves it. Its the best place on earth to work. He said I did pretty well in the interview. We'll see how it goes.

Funny Sidenote:
Sometime during the interview, my cell phone rang twice. Both times, it was WSU Career Services trying to reach me. They called to set Deloitte up to interview me. This would be a decent job, because I think they pay extremely well. And, I want to get a higher pay job than my roommate, because he thinks Electrical Engineering is a more valuable degree. I guess Dan and I are just competitive :)

Thanks for playing.

Tuesday, October 19, 2004

A pretty cool interview...

"Hi, I'm a recruiter from Google"... those might be the sexiest words anyone has ever said to me.

I got an email about 11ish this morning from a Google recruiter. Before I could respond to the email, the recruiter gave me a call. I'm gonna have a preliminary interview with Google tomorrow. GOOGLE! Did you read that? GOOGLE! Definitly a job I would look very seriously at.

This could be cool!!

Friday, October 15, 2004

Dave Winer Says:


Don't tell the girl you want girls./Tell her you want her.


This is a bigtime rookie mistake in college. You watch lame chick flicks with a girlfriend, ex-girlfriend, whoever... and you see a guy tell a girl that he has a crush on her, and they fall in love... yadda yadda yadda.

For college girls, its all about pursuit, and challenge. In college, as with many things in life, the exact opposite of common sense is the truth.

Friday, October 01, 2004

The transition...

So, I think this blog may transistion from being about me at Boeing... to being just about me. Why? Because it turns out that I actually like to write stuff here. So anyways, the career fair here at school has now come and gone... and I guess I want to write about my experiences.

I've never really taken the career fair seriously. I've always just used it as an oppurtunity to get a years supply of pens and highlighters (and perhaps a frisbee). This year I took it a little more seriously. And, I think it worked out for the best. So, on Tuesday was the "Engineering" career fair... but most of the companies were construction companies and crap like that. The cool companies there? Boeing, Sandia National Labs, Navair, Navsea... and well, I think probably the coolest company was Expedia.com. They had pretty cool recruiters. I talked to the guy in charge of the 'Cruise' section for 30 or so mins. I gave him my resume... blah blah blah... then kept walking down the hall to look at who else was there. By the time I had walked back down the hall (this was a horribly laid-out career fair... just FYI), the other recruiter from expedia had already called me on my cell phone to schedule an interview. HOLLA!

So at 8AM Wednesday morning, I interviewed with the Expedia.com people. It was a pretty decent interview. Until we got to the part where he was like: "i want you to write a program to find all the prime numbers between 200 and 400"... and I'm like... uhhhhhhhhhhhhhhhhhh... ummmmmmmmm... ok. I definitly hadn't prepped for that. I was expecting this to be kind of like... a getting-to-know-me type interview. Anways, I came up with a decent solution. I atleast remembered Euclids Algorithm... so that saved me a little. He said that for the next interview (he said there probably would be one)... the programming questions were going to be harder. I hope its a data structures one, or something like that... I could write a linked list in my sleep! Anyways... it was a fun interview.

So, at some point on Wednesday I made it over to the "general" career fair. Which was like 140 companies I would never even imagine working for. There were a couple decent CS jobs being recruited there. I talked to a couple of 'em.

Navair called me last night, and wanted to interview me today. So, I spent a while last night reading about the company. And its just a part of the Navy that highers civilians. BUT! They're a RDT&E (research, development, testing & evaluation... that means they blow stuff up!) facility for the Navy. My interviewing skills are really getting "on point" with all these interviews. Anyways, it went well, and he said he was also impressed with the CS Department at U of Idaho. At the end of the interview, we were just kind of BSing... but, one of the questions on the little sheet he was filling out during the interview was: "What is the most significant thing you've written." So, I gave him a serious answer... something about a senior design doc I wrote (which was actually pretty decent (in my mind at least)). But at the end of the interview... I told him that for me, the most significant thing I've ever written is this blog. At least I like this site, and I guess I like writing too.

So, maybe in the future, I'll have a story to put here.