Saw on in my feed stream today a post by an ex-Plaxo, Adam Lasnik. He’s now at Google and posted up a few tips about interviewing there, prompted by another Googler (I think his name is Mike Knell according to his Flickr account?) who posted up some thoughts as well.
I used to get e-mail by a ton of people looking for Google
interviewing tips; I still get a few requests now and then. I probably
should’ve just posted my answers a long time ago and linked people to
it, but oh well. Their recommendations are all good ones, maybe I can
just link over there in the future.
Hope this doesn’t get them fired ;)
Here’s what I can remember from my interview process. I went through two interview loops: one for a software engineer position and one for the product managment position I eventually accepted.
For the software engineering position, they asked me mostly
technical and coding questions. The coding questions were of equal
difficulty with any other top-tier tech company (Microsoft, Amazon, Yahoo,
etc.). They were mostly dealing with manipulating data in data
structures; the one I remember was: given a binary tree structure,
write an algorithm that returns all the items at a given depth from the
root in order from left to right.
I was also asked some really random questions: what’s the seek time
on your computer’s hard drive? what’s the access time on a stick of
DRAM? Not sure why they asked these questions… maybe to test my
geekiness? Fortunately, I’ve built my own computers for years, so it
was no problem, but I know plenty of awesome software engineers that
don’t know info like that.
For the product management position, I interviewed with about four
1st year APMs, one experienced full PM, and a technical manager (David Jeske, formerly of eGroups/Yahoo! groups). The 1st year APMs were fresh out of college, pretty much all from Stanford or MIT,
and were very smart, although not very well versed in how to actually
ship software in the real world. They were mostly technical or
semi-technical (CS or CS related degrees like HCI or symbolic systems)
and they all asked me the same questions: “Name a product you like. Why
do you like it? What would you improve about it?” Interesting the first
time, not so much for the subsequent 3 interviews ;)
The experienced PM had worked at other companies before Google
and asked me more about shipping software, driving teams, and
designing products. A solid interview.
My interview with David was pretty fun. He had me create a simple DB
table, write a SQL statement and then we talked about optimizing it a
little bit (add indicies and etc.). Not sure if they told him that I
went through another interview loop already with pretty heavy
coding questions or maybe he took it easy on me since I was
interviewing for Product Management.
Overall, the interview process took a few months. I did 2-3 phone
screens for each interview loop and did a day of interviews (5-6) for
each. In my opinion, the interviews were pretty easy, but I guess
interviewing to get into Google wasn’t the hard part for me, more like,
staying there :D