
Ex-Google hiring committee member about job interviewing - maayank
http://extroverteddeveloper.com/podcast/2012/8/30/extroverted-developer-18-gayle-laakmann-mcdowell.html
======
rckclmbr
She's spot on. I consider myself a competent developer (6 years experience,
"big fish in a small pond"), and I don't really interview often. I've
interviewed at Google twice, the first time doing 2 phone interviews and a
round of on-site interviews, and the second time not making it past the phone
interview.

I have prepared well for the interviews every time. I understand the
algorithms, the data structures, and can program them on my own time no
problem. But the second I'm in an interview setting, I lock up and can't
think. I stumble across stupid thoughts (How many bits are in a byte? Oh yea,
8. But what about the 0th bit? What to do?!) and just work myself into a
corner. All the while trying to seek approval from the interviewer. After
about 2 minutes, I become a wreck and am hopeless.

I also don't consider myself non-social, and deal with coworkers very well. I
still don't understand what it is about the technical interview setting that
makes me act like this.

~~~
incision
For what it's worth...

I'm no rockstar, but I can honestly claim to be pretty comfortable in
technical interviews. I chalk that comfort up to two main things.

1) A mentality that says something like...

"I'm good, I'm solid. Fuck this guy."

The point isn't the specific words, or expressing this outwardly, it's about
getting into a mental state of calm confidence, pushing out the anxiety and
concerning yourself only with the moment.

2) Talking with and being challenged by smart people on a regular basis.
Ideally people who are smarter and/or more knowledgeable than yourself. I
expect being the big fish in a small pond generally works against this.

~~~
nostrademons
I don't usually think of it as "Fuck this guy", but rather, "I can help this
company." There's a lot implicit in that statement - that I want to help this
company, that this company can be helped, etc. But fundamentally, it's that I
am offering more to my employer than they are offering to me. If they choose
not to take me, that is their loss.

Actually, that seems to be a good mentality to build confidence in general.
I've heard (I haven't managed it yet) that the secret to getting girls is to
think of offering them the chance to be with you - you aren't trying to "get"
the girl, but rather offering your companionship and emotional investment to a
suitable girl who's willing to take it. The secret to networking is to offer
favors to people in need of them. The secret to negotiation is to offer
something of value to the other side and ask for something that they value
less in return.

~~~
Evbn
Bingo. Treat the interviewer like an intelligent student in a class you are
teaching => win.

------
JabavuAdams
If a lot of talented engineers from Microsoft and Amazon are having trouble in
Google interviews, doesn't that indicate that Google is testing the wrong
things?

~~~
proksoup
Agreed.

If writing a binary search tree thingamabob isn't relevant to the job they
have 10 years experience in, why is the answer to that question so important
at the goog?

Why not ask questions that are relevant to the experience the candidate does
have ...

~~~
glaak
It depends on how you look at it.

Google wants people who have a strong understand of CS fundamentals (which
includes knowing core data structures). Google also wants people who are good
coders (which includes being able to translate an idea into code).

A good coder who knows CS fundamentals should be able to do that. Thus, not
knowing how to implement a binary search tree is revealing.

And, really, the question is rarely "implement a binary search tree." It may,
however, be to implement a binary search tree which support a getMedian()
operation.

~~~
Evbn
Of course, not knowing how to write a library quality Java w/generics
implementation of a a search API on a non-search tree, on the whiteboard, as
one of my interviewers once demanded, is something a bit else.

------
curiousDog
Ironically, her book won't get you through the google interview if you are a
new college grad. It may have sufficient coverage for Microsoft/Amazon
interviews but not google.

From my experience the average google interview requires you to be so deeep
into the algo/datastructure space, you should be able to code up the KMP algo
off the top of your head. You have to be a topcoder with atleast 1200 rep or
equivalent algo & coding skills. Coding speed also matters. You should be able
to scribble Floyd warshall.

Why this way? Well that's where google did most of their recruiting from back
in the day. Anyone who says they got hired without this are either lying or
got lucky in the interview process. Same goes for the new wave of startups in
the bay area..facebook/palantir/quora etc.

I was very much into the OS, compiler space in school and that was what I was
interested in. Got an offer from msft, amzn but not google. So kids, read up
on CLRS & the algorith design manual, solve every problem there & also create
your account today on topcoder if you'd like that job at el goog. Any other
book that says otherwise is equivalent to Linux programming for dummies or
Complete C++ in 21 days.

~~~
tlogan
As far as I know this is also true for key divisions (divisions making secret
sauce) of "unsexy" companies (ORCL, MSFT, AMZN, IBM, INTL, etc.).

In other words, if you want to find a good job you need to be good.

------
jamesmiller5
I find the resume length suggestions interesting.

The Microsoft representatives have told me to use a short one page resume. The
Google representatives instead told me the exact opposite and said for me to
put down _everything_ relevant to the position regardless of length.

I now have two resumes, a short one for on the floor career fairs and a multi-
page that I submit online.

[Edit grammar]

------
papaver
i think the best answer to any google interview question i didn't know is.....
"i'd google it"!

but seriously, why do i need to remember information about languages or
algorithms i don't use daily? my memory is limited and i prefer it to be
filled with the most useful information at the time.

~~~
hackinthebochs
This mentality works in general, but there are drawbacks. A large part of your
problem solving ability is unconscious. If you don't have critical pieces of
information committed to memory, you're essentially creating a ceiling on the
types of problems you're capable of solving.

~~~
Natsu
In at least some cases, you can get by with having only the solution metadata
committed to memory. For example, you might remember various data structures
and their time complexity well enough to select the proper one, without
necessarily being able to implement them all from memory.

~~~
Evbn
But you better remember how to verify your memory is correct, at least via
research if not working it out yourself.

~~~
Natsu
In the end, you can either turn the information into a program or you cannot.

------
mkhattab
Perhaps there is too much emphasis on the interview process. Why not use the
contract-to-hire method? It could be a short duration spanning a few weeks.

There are of course multiple drawbacks, but at least this method could help
alleviate the problem of false negatives.

~~~
emmapersky
It takes many months to become a productive Engineer at Google, and in all of
that time you are earning your full salary and being exposed to confidential
information, so it's not realistic to try people out, as it would really only
be valid after ramp up time; The challenge we face is figuring out if people
will be successful here _after_ they have picked up everything they need to
know.

------
hk_kh
Buy a book to get the illusion you'll work on Google. Sounds good!

~~~
usea
Some may buy it for that reason. Are you implying it isn't likely to contain
any useful information or advice on people who are actually interested in
preparing for their interviews? Seems like a very pessimistic view.

~~~
Evbn
CLRS is a better book for preparing for your interviews.

~~~
pgbovine
probably not, unless you're really good at filtering out what you need from
1312 pages. a more tightly-focused programming interview study guide is
probably more beneficial if your only goal is prepping for these sorts of
interviews.

~~~
Evbn
I (re-)ead a dozen chapters and sketched solutions to almost every problem in
my head, over a few weeks of evening and weekends, leading up to my best
interview performances ever. YMMV, but I saw a correlation with obvious
mechanism of causation. For the most coveted jobs, "fake books" don't cut it,
you can't memorize every question you will see.

~~~
pja
CLRS was my Google interview prep book.

Sadly, it didn't prepare me for the questions about unix filesystem data
structures. But I don't think I can blame CLRS for that :)

