Posted by
Admin on
5/7/2007 12:36 PM |
Comments (0)
I was a man of 20, 21 again. I had
somehow tapped into this previously unknown vigor within me. I felt
like I was in college again, my mind buzzing, steeped in that final
exams mentality. I skipped meals, stayed home on Fridays, woke up early
on Saturdays. I hit the coffee shops, the book stores, and read
sections of my old dusty textbooks before I went to bed. Why would I be
doing this? It could mean only one thing: my interview with Google was
coming soon - and to a software guy it was a dream come true, but also
a terrible nightmare ready to happen. The bliss of working with the
number one technology company in the world was also mixed with the
terror of that infamous interview process. While most people are used
to 1 or 2 interviews with a company, the Google interview (which I will
now refer to as "The Gauntlet") consists of difficult phone screens and
campus interviews including one at the fearful Mountain View office if
you get that far.
My career definitely isn't that long (just a
few years), but I've experienced a decent breadth of technology and
work culture so far. From the rigid, process driven aerospace industry,
to the fast paced world of consulting, to the laid back, organic
atmosphere of a startup-- I've experienced a nice mix. As I was
thinking about looking for something new, an opportunity for an
interview came up. In the last 1-2 years there was somewhat of an
exodus of people on my program moving on and getting hired at Google in
Irvine. As I began pondering things, I realized two career factors have
become really important for me:
People:
I'm a software guy, so engineers are the people I gravitate to. There
is definitely a camaraderie among us. I respect a really strong
software person who can solve problems, design great solutions, and
stay on top of ever changing technology. Google seemingly was this big
software house with those kind of bright technologically minded people.
It seemed to be organized for the engineer and around the engineer.
Products:
I think in human nature we all have this desire to create, to put
something masterfully together for the world to see and use, and for me
it would be software. As an engineer, my main focus is building
products for the user that is on the outside, usable, pleasing to the
eyes and satisfying to use, and on the inside, well engineered,
efficient, maintainable. Google, with its myriad of services and
software has proven to be on the forefront of software products.
There
was so much buzz about this company, its culture, its perks, its
technology, that working there at this point would almost be like
career nirvana. So I asked for the referral and sent in my resume. A
few days later I received an e-mail from a recruiter with a
questionnaire with about 10 or so general work experience questions.
These questions seemed to flesh out a potential hire more than what a
resume could do. I took a night to recount some of my work and project
history and various other info and sent it back. With the
questionnaire, the recruiter said she could direct me to the
appropriate interviewer. We talked on the phone for a short bit and
explained what the interview process would entail. She said it would
start off with a phone screen, or multiple phone screens from which the
interviewer would glean 'data points' which to me seemed like a
reference to the 'hiring algorithm' that I had read about before. If
the phone screens went well, I would go out to the actual campus for a
day of interviews and finally if I managed to stay alive through that,
I'd go to Mountain View for the last leg of 'The Gauntlet'. We set a
date for the first interview and from that point on my whole mode was
changed. I began reacquainting myself with the old fundamentals - of
trees and tables, of searching and all that other stuff I thought I'd
left behind in college. The algorithms books, the data structure books,
they all brought back memories. Who knew I'd be breaking out that old
AP Computer Science book. For the most part, things were pretty
familiar, though I started to freak out during the "dynamic
programming" section. I was hoping I wouldn't be asked that. At the
coffee shops it was non-stop studying and note taking, my ipod even had
a 'study mix' playlist. At home I'd be at the computer surfing to the
ends of the internet, queueing up blogs and articles about other
people's experiences with a Google interview. A really difficult
challenge was on its way so I wanted to be as prepared as I could.
The
day of the phone screen was pretty nerve-wracking. I came into work
hardly able to concentrate, and by 11:30AM I went back to my place to
prepare for the 1PM Gauntlet. After a quick lunch, I pulled out a few
blank sheets of paper, a trusty pen and laid them out on my coffee
table. I brought out my phone charger as well so that my phone wouldn't
die in this 45 minute death march. I anxiously flipped through the
channels on my TV until I got the call. The interview started out
really casual. The interviewer gave me a short description of what to
expect for the next 45 minutes and seemed to make sure I was
comfortable before we began. He said he'd give me about 40 minutes of
technical interviewing and would leave 5 minutes for me to ask him
questions in the end. Before the technical grilling began, he did ask
me one question though, which was kind of interesting. He asked if I
wanted a 'systems question' or an 'algorithm' question. I interpreted
it as him asking if I wanted a 'real world question' or more of a low
level 'algorithmic/data structures' question. At this point I had been
cramming in a lot of algorithmic so I asked for an algorthmic question.
I will not go into detail of what questions he asked me exactly, but
the first question was related to a data structure which he defined. He
started off small, asking a few easy questions and then he pushed the
envelope asking a straight up coding question centered around this
structure. During the interview I tried my best to keep talking and
convey any thoughts or ideas going through my head out loud. This was
helpful because it gave the interviewer an idea of my thought process
and gave him a chance to steer me in the right direction. So we were
able to get through the first 'algorithm' question and after that he
threw out another question. This question was a bit more of a real
world question pertaining to error detection codes. It took me me some
time to jog through all of my ideas and finally come to my solution.
After that he threw in a slight twist to the problem, which I then
answered and then he asked me to walk through some of my reasoning of
why the error detection algorithm worked and when it wouldn't work. The
interview concluded with a short time for me to ask him some questions
about Google and shortly after I allowed myself the chance to rest my
head. I went back to work feeling 'GWNED', my shorthand for being
'OWNED' by Google and its interview process. I felt I took too long to
answer my questions, that I lacked confidence and ease while talking,
that my interviewer helped me too much through the questions, that I
would have to be real lucky to get word back. The next few days were
pretty nerve-wracking too, because that single e-mail would determine
if I could go on or not. For a few days, every time my browser title
bar read 'Gmail inbox (1)', a burst of adrenaline rushed through my
blood and I would quickly check it, only to receive some random junk
mail from a friend. Thankfully, about three days later I received
another email from the recruiter asking me when I could hold the second
phone screen. The relief was again mixed with nervousness as I knew
what was coming, but I definitely felt good that I (in video game
terms) got a 1 up.
So I milked out a few extra days for my next
phone screen, since I wanted to do some more studying. I was back in
that mode again, hitting the coffee shops, banging through problems,
coding up solutions in my moleskine. I knew the Gauntlet was not going
to get any easier so I was preparing myself. The next interview had a
different flavor from the first one. While the first one centered
around 2 pretty big problems, this interview was more of a potpourri. I
was asked a few personal non-technical questions, such as 'What could I
bring to Google' (I don't think that was exactly it, but you get the
idea). He glanced through my resume and asked a few short answer Java
questions. He saw that I had done some web services and he asked a
really fundamental question in that arena. After that he asked a
question about HTTP and then went on to a question about memory
allocation. He then moved to asking about process execution. After this
series of questions we went into problem solving questions starting
with sorting, on a basic level and then with the added twist. The final
question was a 'real world' question which I really struggled with.
After walking through this one and fumbling through some faulty
solutions, I had made a start which the interviewer seemed satisfied
with but at this point my interview was already at the 50 minute mark
and was put to a close. I left this interview feeling like I got my
butt kicked. So again the waiting game started anew. When my browser
said 'Gmail Inbox (1)' I would freak out for a moment, but after a week
I realized it was probably not going to happen. After two weeks I
completely lost all hope. Shortly after the 2 or 3 week mark I received
an e-mail from the recruiter saying that they could not find a strong
match for me. Of course I was disappointed, but in the end I knew that
it wasn't meant to be. I did ask my recruiter that as my career
progresses and I pick up new skills, when would be a good time to
re-apply and she graciously told me that it would be good to wait
between 6 months to a year. The Google interview was a wild ride while
it lasted: I fought the good fight but unfortunately I joined rank with
the rest of the 995,000 (supposedly 1,000,000 resumes were sent to
Google but only 5,000 were actually hired last year).
Original story