Last Friday I found myself in Google's London HQ, talking about cool problems with a bunch of engineers. The so called "onsite interviews."
The saga started a few months ago with two phone interviews.
And here I was, completely unprepared, having the time of my life just chiling in the awesome parlour they have going at the reception desk (inside a very confusing building... who puts a reception desk on the top floor anyway?)
A disclaimer: some say they had to sign NDA's and stuff. Nobody mentioned to me personally that any of this was a secret. And hey, only about 25 percent of onsite candidates get hired, and there are 30,000 employees. That means 120,000 people have seen what happens.
It's not a secret.
There I was, lounging in a comfy leather chair. Just when I was thinking "Fuck, I blew it. I knew I shouldn't have been five minutes late!" my recruiter came in through the door and apologized -- her office is across the street nowadays and it takes a while to get to the main building.
She walked me through a series of doors, swiped her keycard a few times, quipped about the epic naming scheme for the interview (meeting?) rooms. Named after cornerstone computers of history, most recently The Watson.
I found myself in a small, white room. Nothing more than a desk, a small whiteboard, a phone and a huge LCD screen. Hell, the holding room at the police station I was once taken to as a teen was bigger.
Apparently I drew the short stick and got the smallest whiteboard available as well. Maybe they knew I was short and just wanted to make me comfortable?
A few moments later, my first interviewer came in. Said hello, and went right to business.
There were only three things anyone cared for:
- Ability to solve problems you've never heard of
- Big-O and efficiency
- No whiteboard coding -- that means catching all off-by-one errors
I especially loved the insistence on solving all problems cold. At one point I said Oh cool, I've heard of this problem before and the engineer immediately swapped it out for a new one.
As a result, the whole experience was much more fun -- it felt like solving a series of interesting little coding puzzles that are easy enough to be solvable in full and at most optimal within about 30 minutes, but are just hard enough you actually have to rack your brain a little bit to get them.
Lexical knowledge? Forget about it. Whenever you don't know something, they just wave you on and say it's not really important. And you can tell it doesn't matter. They don't even write it down in their notes that hey, there's this little thing you couldn't remember off the top of your head.
My questions were a mixed bag of designing systems and algorithms
- There used to be a list of questions here, but I took them out after being informed that they don't actually have hundreds of questions available to ask people
- They were essentially questions similar to those you might experience in a high school (or possibly college) programming competition
Those were the interesting questions anyway, sprinkled between these were explanations of A Recent Interesting Thing You Did ™ -- makes me giddy I gave three different answers to this question. Just to avoid talking about the same stuff all the time
Oh and I guess there were some lexical questions, like what is a singleton and how you'd get rid of it, how do closures function and how does a DNS lookup work.
How I did?
Honestly, I have no idea how I did.
Sure, I solved all the problems. With the exception of one, I even came up with the most optimal solution on my own. And I managed to catch all the off-by-one errors and corner cases and everything.
But it doesn't really matter how well I did, what matters is how many others did better than me in all those little nuances, like how quickly it took to solve a problem, how much you communicate and so on... so it's really hard to say.
What I can say, however, is that it was one of the most fun days I've ever had and I deeply regret the fact there were only five interviews. Everything was over with much too quickly ...
But at the end of the day, I didn't even get the answer to my main question: "What's working at Google like, really?" (Seems like they aren't allowed to talk about this. You get canned responses when asking.)
So I still don't know if Google is a place I would want to work at, but my god the lunch was amazing. If they extend an offer I might accept for the food alone!
P.S.: A coffee lab is where Googlers drink their caffeine inside the building
This post originally appeared on A Geek With a Hat blog.
Swizec is writing a book about programmers -- "Why programmers work at night." He needs feedback to make it better.