
My Job Interview at Google - pkrumins
http://www.catonmat.net/blog/my-job-interview-at-google/
======
webwright
Isn't this level of interviewing kind of excessive and time-expensive? If I
were Google, I would do the following:

1) Have the first interviewer be the best/most-appropriate interviewer for the
position (manager, lead dev, whatever). Have them write down in a sealed
envelope a "hire" or "no hire" statement after the interview.

2) At the end of the assorted interviews, measure how often the first
interviewer is correct in his hire/no hire assessment.

My theory is that interviewing is a great opportunity for "thin-slicing" (a la
Blink) and that you'd get 98% of the value with 10% of the time invested.

Related anecdote (from gladwell dot com):

One of the stories I tell in "Blink" is about the Emergency Room doctors at
Cook County Hospital in Chicago. That's the big public hospital in Chicago,
and a few years ago they changed the way they diagnosed heart attacks. They
instructed their doctors to gather less information on their patients: they
encouraged them to zero in on just a few critical pieces of information about
patients suffering from chest pain--like blood pressure and the ECG--while
ignoring everything else, like the patient's age and weight and medical
history. And what happened? Cook County is now one of the best places in the
United States at diagnosing chest pain.

Not surprisingly, it was really hard to convince the physicians at Cook County
to go along with the plan, because, like all of us, they were committed to the
idea that more information is always better. But I describe lots of cases in
"Blink" where that simply isn't true. There's a wonderful phrase in
psychology--"the power of thin slicing"--which says that as human beings we
are capable of making sense of situations based on the thinnest slice of
experience. I have an entire chapter in "Blink" on how unbelievably powerful
our thin-slicing skills are. I have to say that I still find some of the
examples in that chapter hard to believe.

~~~
bd
Maybe there is a secondary objective for excessive interviewing:

 _"Hazing is often used as a method to promote group loyalty and camaraderie
through shared suffering (male bonding in fraternities), either with fellow
participants, past participants or both."_

~~~
wheels
Hmm, really good point. And I suspect beyond that you can exploit elitism by
making the process seem artificially hard.

It seems clearer if you think about the converse: If you were offered a job 10
minutes into an interview, would you value it as highly?

------
josefresco
The "I got interviewed by Google" articles are getting old for me. I just
don't care, and their process isn't that interesting anymore.

~~~
gaius
Agreed. They have, what, 20,000 employees now? It's as exciting as getting an
interview at HP or IBM.

~~~
minoko0000
This is my recent job interview with one of the above comapany . Aug - 1st
Interview Sep - We really like you but can you wait for 2 months? Oct - I have
another job offering .. I called the Hiring manager to confirm if he is really
going to hire me. his exact words :" Yes of coz , reject the other company .
It's confirm we'll start in the new FY. Don't you trust me? End Oct - hey , I
need you to meet up w another dept hiring manager .. and when I spoke to the
new hiring manager I found out that the role is totally different and doesn't
fit my profile and my experience

Later did I know he hired someone else for the role.

Too big a company , too many employess , to value you is not the 1st thing in
mind.

------
truebosko
I've seen this guys articles get posted on reddit/hacker news over the course
of the past few years and he just seems like a tome of knowledge that keeps
expanding at a rapid pace

Buddy, you have a lot of time on your hands and you're using it well, keep
chugging along, looks like you're close to your dream job

~~~
greendestiny
About time to see the light and decide to start up his own company I'd think
:) You always have to ask yourself whether a dream job is really about doing
the work, or is it about being validated by the cool kids.

------
khangtoh
What I would really like to read is "My Job Interview at X"

X - any startups like Twitter, Friendfeed, Posterous, Kashless. etc

------
sireat
I think sometimes even the very well qualified (and Peter should be) do not
survive the interview grind.

Would be simply silly if that off by one error was the cause for rejection.

~~~
Maro
Could be they didn't have any more H1B slots left. In my experience large
companies just call in people for interviews, and only afterwards do they
think about how/when they could hire them.

~~~
jcl
If that were the case, I suppose his big mistake was specifically requesting
the Mountain View campus. It looks like they asked that question up front so
that they could figure out which teams he should interview with; he might have
stood a better chance at another campus.

------
epi0Bauqu
He seems pretty excited for not getting the job.

~~~
pkrumins
Life goes on, why should I worry!

~~~
jsmcgd
So why do you think you didn't get the job?

~~~
kylec
This is probably just interview #9 - seeing if he'll break NDA or trash talk
Google after finding out he didn't get the job. You have to know how your
employees will handle stress and frustration. ;)

~~~
immad
"I got the green light from Google to publish this article"

------
globalrev
Could anyone point me on how to solve this(either a solution or preferrably a
pointer on how to get to it): "Q: Given a function which produces a random
integer in the range 1 to 5, write a function which produces a random integer
in the range 1 to 7."

First I thought it was simple but the I got stuck, maybe I'm just tired. No
matter how I twsit and turn it I seem to get only an even distribution over 5
numbers.

~~~
hhm
Execute f 7 times, add all numbers, call that x. Then you do mod(x,7)+1, and
you get a random number between 1 and 7. If the original function was
unbiased, this one is going to be unbiased too.

~~~
deadsy
This won't work. f gives 1 to 5. 7 * f gives 7 to 35. But 7 to 35 will not be
evenly generated. Think about it: There are more ways to get a 20 than there
are to get a 7 or a 35. Same thing with rolling 2 die.

~~~
nostrademons
That was my second thought too (my first thought was to upvote the comment),
but at least in the 2-die case, the modulus takes care of it. If you work out
the probabilities, the chance of getting 0mod2 = 1/36 (2) + 3/36 (4) + 5/36
(6) + 5/36 (8) + 3/36 (10) + 1/36 (12) = 18/36 = 1/2. Same goes for getting
1mod2. So you end up with a fair result even though the chances for each
individual outcome are biased.

I didn't want to go through all 5^7 possibilities for the 7-die case, but I
figured it's likely enough that he's right that I'd keep my mouth shut.

~~~
llimllib
experimental evidence says that it is in fact a uniform distribution:

    
    
      r = random.Random()
    
      def one_to_five():
        return r.randint(1, 5)
    
      def mod_seven():
        return (sum(one_to_five() for x in xrange(7)) % 7) + 1
    
      def test_dist(lst):
        return [(x, lst.count(x)) for x in [1,2,3,4,5,6,7]]

~~~
sdfx
i've tried it out experimentally in google docs and it looks really good for
big numbers. No real proof tho and it might be that the errors counter each
other by chance:

[http://spreadsheets.google.com/ccc?key=pq4tB7LQWN03gF7ImGhIP...](http://spreadsheets.google.com/ccc?key=pq4tB7LQWN03gF7ImGhIPAw)

~~~
greendestiny
Have a look at the distributions for each sum here:
<http://brianpmearns.com/ext/dice/dice.html>

edit: Oops bad addition on my part, could be uniform, but you'd have to work
out the actual number exactly.

~~~
sdfx
here are the exact numbers:

1 -> 11177

2 -> 11172

3 -> 11158

4 -> 11144

5 -> 11144

6 -> 11158

7 -> 11172

...not quite

------
JesseAldridge
_"The questions were about Linux systems administration, algorithms, computer
architecture and C programming."_

Couldn't you just Google for the answers to these questions in order to bring
yourself up to speed where necessary? I'm not sure I see the value in trying
to keep vast libraries of arcana in your head at all times.

~~~
nostrademons
They ask common questions as a proxy for experience in those fields. If you
work with something daily, you _will_ end up memorizing certain facts even if
you don't consciously try to. It follows, then, that if you don't have those
facts memorized, you haven't been working with that technology daily.

~~~
Retric
I stopped memorizing syntax a long time ago. It's been a few years and an the
only thing I can recall about C's pointer syntax is ^ and & but the specifics
are long gone. Not that long ago I had to look up the conditional shorthand
(expression)? true: false in java etc. I have used around 12 different
languages and I try and forget the stuff I am not using or I will mix and
match syntax that does not work for the language I am programming in.

PS: I was classified with a learning disability back in school so this could
just be me.

~~~
nostrademons
It's actually * and &. ;-)

Don't interview for positions in languages you've forgotten, then, or brush up
and re-learn stuff before the interview. It's like riding a bike...it comes
back to you.

Not being able to remember pointer syntax is a serious problem if you're being
hired to program in C. I can understand why they'd want to weed out anyone who
can't get that, particularly given how many candidates they have.

~~~
Retric
lol, thanks. I could have said x[i] is the same as ^(x + i) and really thought
that was the correct syntax. The problem is I have used enough languages and
dialects that I really can't brush up on it all. I just say if it's been five
years, let me break out my cheet sheet for that stuff.

PS: Ok, if it was really just a C job of course I would focus on that.

Edit: Dammit it is like riding a bike. I have been having C flashbacks to
horrible old code. O Malloc how do I hate the let me count the ways.

~~~
ninjackn
Maybe it was Visual C++ you were programming in. ^ is for a handle to a object
on the managed heap so it's _almost_ the same as pointer.
<http://msdn.microsoft.com/de-de/library/yk97tc08.aspx>

~~~
nostrademons
I was thinking it was Pascal - I _think_ ^ is the syntax for pointers in
Pascal, but the last time I programmed in that language, I was 12.

~~~
Retric
Yep, pascal had ^ and @.

Around 5 years ago I was spent a lot of time working with really old Object
Pascal and some C code that was upgraded to OS 8/9 and then left to rot. Let
me just say that low level networking code on a OS that does not have threads
is a PITA. They had something like interrupts but you could not allocate
memory during them. You had to first allocate using Handel's and then do
something before working with actual pointers as part of your run loop and
then use that memory during the interrupts. Meh, I think it might have been
the most fun coding project I have ever been on, but I don't want to do that
again.

------
matt1
What are the likely reasons that he did not get hired?

Seems like a brilliant programmer, but for whatever reason that wasn't enough.

~~~
jimbokun
It's not clear whether they actually hired anyone for the position (there are
contradictory opinions in this thread as to whether or not Google is hiring at
all right now).

~~~
paulgb
Possibly meaningless anecdotal evidence: I know a number of people who have
had internship offers from Google in the last couple months. I don't think any
of them accepted though, so maybe they aren't paying as well as they used to.
Also, I don't know what hiring interns says about hiring regular employees.

------
bootload
_"... Then I found all the other blog posts about interviews and interview
questions at Google ... She told me she was working at Google for two years
and was very happy about it ... We went to Asian food restaurant (located in
Googleplex) and I had all kinds of delicious foods. All free! ..."_

I'm still wondering, who's trying to game who?

------
simplegeek
Worry not, take that as an opportunity. I'm sure you're a talented hacker.
I've been reading your articles and I guess you like to learn a lot on your
own. Match made in heaven for a startup guy. I sense that had you been
employed by Google you might have left it after some time to start something
on your own. Why not now :)

------
alecco
Google isn't hiring anymore out of top management or very specific exceptions.

~~~
andr
Citation needed.

~~~
alecco
I thought it was on the front page [http://www.webguild.org/2008/11/google-
layoffs-10000-workers...](http://www.webguild.org/2008/11/google-
layoffs-10000-workers-affected.php)

Similar leaks are being posted every other day.

~~~
alecco
It seems today it got broader attention.

<http://www.reuters.com/article/ousiv/idUSTRE4AO1LI20081125>

[http://www.forbes.com/afxnewslimited/feeds/afx/2008/11/25/af...](http://www.forbes.com/afxnewslimited/feeds/afx/2008/11/25/afx5737988.html)

And everybody mentions WSJ as source but couldn't find the original, perhaps
it's offline only.

Yeah, no mention of (mostly) not hiring but I am very sure of that, too.

------
fakeslimshady
Looks like you just dodged a bullet given the layoff announcement

------
brandonkm
Seems like the engineer in the comments section summed it up the best. You
were probably really close to getting the job, but a few to many mistakes
tipped it against you.

------
known
There are 2 types of interviewers in corporate environment.

1\. One who hires 2\. One who recommends to hire

Avoid getting interviewed by 2.

