Interviewing at Google

I figured you guys might be interested in this, since it is Android related. Last week I interviewed at Google (Mountain View, CA). This was a second round interview - I had already got through the phone interview. Google hires good people and then figures out what to do with them, rather than hire against a position.

I did not get the job. I have removed names to protect the innocent :slight_smile: However, it was definitely a fun experience for me, although I can see how it would be excruciatingly painful for someone who does not have a lot of very broad experience! Most of the time, was spent with me scribbling on the whiteboard (I even brought my own marker to the interview).

The day started at 10:15am. They probably do this so the potential employee does not get to see the traffic. There was still traffic though. And roadworks. I guess this is normal in California.

I found the correct building and was 10 minutes early. I signed in at an automated touch terminal, and it printed out a peel&stick name badge for me. I then found a seat.

I was met on time by a recruiter. He walked me to the interview room, made sure everything was ok, let me dump my stuff and then we strolled to the kitchen for food/drink.

We then cruised back to the interview room and met my first interviewer. He introduced himself politely, and gave a brief background on what he had did at Google. We then proceeded with the interview. I was asked to design an android application to allow users to send each other gifts. The discussion (mostly me brain dumping) ranged from user authentication, caching, what data is stored server side, workflows and interaction with the GUI, active layout changing of the GUI based on configuration from the server (to enable A/B testing), then how to determine the recipient’s physical address, to payment and how to ensure the product goes viral. There was not a lot of feedback going on, so I went after the more interesting areas. Login and payment are pretty much solved problems. How to get a user to give you their address is not. I also went into other areas like active push, gifting one’s-self, favorites, past history, reminders based on occasion, running specials to encourage usage (Mother’s day next week, gift her flowers now so you don’t forget!) etc.

Afterwards, we went straight into my second interview. The interviewer is a generalist with a PhD in Math. We started with a quick trip to the kitchen and on the way I was asked about life support design. I feel this was more a test on how to dumb down a complex system to someone who does not know anything about it. Unfortunately, dumbing down life-support systems is NOT easy! (I have actually designed, built and self tested these sorts of systems). We then did the standard question of ‘how much does a new user of Gmail cost us’. My initial gut feel was under $0.01. After doing basic calcs based on amount of data stored, how it is stored and where, we delved into performance and backup systems (stripe, mirror, CRC), hot swap and off-site backup/mirrors and then went after caching based on geography and went back and adjusted the calcs to arrive at a new figure. My initial guess was not right! After that, we looked at latency and what the expected distribution of latencies would look like. Since Joe has a math background, we then went into mean and medians and the difference between them and how this was applied to expected server response times. It has been 15 years since I did 2nd year statistics, and I could not remember the formula for median. Oh well… that’s why you get a stats guy to help you or look it up in a book. The interview was pretty much over at that point.

Third interview was with a woman. She actually had a Mech Eng background, but seemed to have no clue about real engineering, which was rather strange. The question started out about image processing and how much disk would be required, but I pointed out this was very similar to the previous interview question, so she then decided to change the question. This new question was about advertising and the display order of adverts and how to manipulate it. I pre-empted the question and asked if we were then going to design a way to prevent abuse after designing a way to abuse the system. Yes we were. Ok, so this would be fun! Step 1, is your competitor pays for clicks … so DDOS the crap out of the click link. Do it from multiple machines, multiple geo’s and multiple user agents. How to stop it? Beth wanted to go down the route of trying to detect if the user was a human or not, by looking at load vs click-delay, but I pointed out that NOTHING from the client could be trusted - it could all be faked with enough time/effort/potential reward. That leaves one with unique advert links using one-time pad’s and realtime procesing of traffic to detect spikes/dips in CTR. At that point, we had a minute or two free, so I asked Beth how life at Google had changed in the last 4-5 years. She detailed the growing pains of transitioning from a startup to a large company.

I then got picked up by the 4th interviewer and taken to lunch. The food was awesome. Conversation ranged over a number of topics, including work/life balance, the constant renovations (people do better work if their environment changes, so Google renovates the buildings all the time… hey, what else do you do with $40billion a year ?!?), and how to invert large matrices. We also went over Google’s code build system.

At the end of lunch, I met another recruiter and he asked if there were any deadlines (aka: who else is trying to hire you RIGHT NOW?) and set expectations on when they would get back to me with a yes/no/we_need_to_interview_you_again. The conversation then went into ‘Why Google’ and which location I would prefer.

After that, we wrapped up and I headed to the airport for the red-eye back home.

Very interesting post!
Thanks for sharing. Too bad you didn’t get the job.

Wow, very interesting indeed. I had the opportunity to visit Google’s office in Sydney earlier this year, so I can relate to some of the stuff you say about the work environment (and lunch! :slight_smile: ) It sounds like a great experience, even if you didn’t get the job.

Thanks for sharing with us!

Thanks for sharing. About to go through the process myself, although having spent the last couple of years at work in project management I think many of my analytical skills have been dulled so not expecting to get far! Very interesting to read someone else’s experiences.