How I got into Google (in 2007)
--
I joined Google on April 9, 2007. After working there for 13 years, I’ve done my share of interviews, served on the hiring committee, and as a manager, vetted and hired numerous engineers. Google’s system isn’t perfect, and half jokingly, I don’t know if I would make it again if I interviewed now. But anyway, here’s my story.
Why Google?
In 2006 I was a senior web engineer at InfoSpace, working on a local search product that required a mapping integration. For fun I played around with the Google Maps API, wrote a JS object browser to inspect and reverse engineer the code, and wrote a JS library to program the Google Maps API using declarative HTML markup.
The InfoSpace management team eventually chose to partner with Microsoft MapPoint. It worked very similarly to Google Maps, but the managers looked at me funny when I talked about dynamic web pages using JavaScript. It’s a signal that it was time to move on. Google had the best Web 2.0 applications, so that’s where I wanted to be.
A Googley Interview
At that time Google created a new position for Web Frontend Engineer, which required different skills than the typical backend engineer. I applied and got a phone screen. I was quizzed about JavaScript, and the interviewer asked a trick question, which is how can you override a parent object’s functions through its prototype chain. I told him it can’t be done in Firefox because I literally tried it, which was good enough to get the onsite at the Googleplex in Mountain View, CA.
A week before the interview we went on vacation. I brought with me a thick JavaScript book and studied. I arrived at Google HQ and was scheduled for five interviews.
Interview #1 asked about CSS and DOM manipulation. We eventually talked about cookies and I noted that IE and Firefox had different behaviors when you exceeded the max cookie count per domain, something the interviewer didn’t know. This actually happened at InfoSpace and we had unpredictable behaviors between different browsers.
Interview #2 asked to build T9 in JavaScript, which I did it using the prototype.js library. Interviewer #3 came into the room and lamented about XHTML. I had just spent weeks learning about it, so I spent the hour…