NYC trip and interview!
Feb. 13th, 2007 04:17 pmSo I went to New York and did the Google interview :) I believe the hype!
(believing the hype is among my shortcomings; I'm always looking for the silver bullet that's going to solve all the problems. Variously: powerbocks, nanobots, Creative Commons, The Singularity, functional programming, The Revolution, academic openness...)
But! Admonitions to not believe the hype must be balanced with admonitions to not be a hater, and Google is pretty happenin'. Even if it doesn't save the world, it could well help. O Scientists, I want to get you the information you need at the exact right moment so you get the inspiration to Cure AIDS, Generate Cheap Clean Energy, or Understand Consciousness, and preferably all three at once. Sarah, Emily, Gregg, Whitney, Ross, everybody else: it's on.
In the morning, I got up early and walked south through Manhattan (I like Manhattan), along 7th and 9th avenues, to the Google office. It was open, colorful and spacious, with big windows -- full of colored balls and furniture that looks like colored balls. Everybody was really friendly and they all said they were having a good time working there. There's delicious healthy food and coffee all over the place -- I was particularly struck by the bowls of berries and pears. And lunch was lovely! So much veggie food (much of it raw vegan, even!), and I ate with Vlad from Romania and Alex from the Ukraine, who were super-smart guys, very personable.
There were four interviews: for each one, an engineer (or sometimes two) came in to talk to me and ask me to solve some problems. The problems were most often conceptual ones, like "what's a good algorithm to do such and such? Alright, what's the running time? Can you make it faster? How about with less memory overhead?"
And I wasn't totally dumbfounded by any of the problems, and I came to a reasonable solution for all of them, but I wasn't like wickedly fast -- hopefully fast enough, though? I ended up using memoization to speed up an O(n^4) search to run in O(n^2), for finding Ramanujan numbers -- but they had to explain what Ramanujan numbers were first. Other problems involved building a parser, implementing some C standard library calls, and addressing issues like "what would you do with a lot of online storage and metadata, like with respect to google applications?" and "what's wrong with current spam filtering? how would you fix it?" Python, Java, C, and Common Lisp were all used, but after lisping for a few minutes, my interviewer asked me to switch back to Python, heh :)
Then I flew back.
It was a lot of fun. I hope I get the job :) I mean -- veggie dim sum dumplings!
(believing the hype is among my shortcomings; I'm always looking for the silver bullet that's going to solve all the problems. Variously: powerbocks, nanobots, Creative Commons, The Singularity, functional programming, The Revolution, academic openness...)
But! Admonitions to not believe the hype must be balanced with admonitions to not be a hater, and Google is pretty happenin'. Even if it doesn't save the world, it could well help. O Scientists, I want to get you the information you need at the exact right moment so you get the inspiration to Cure AIDS, Generate Cheap Clean Energy, or Understand Consciousness, and preferably all three at once. Sarah, Emily, Gregg, Whitney, Ross, everybody else: it's on.
In the morning, I got up early and walked south through Manhattan (I like Manhattan), along 7th and 9th avenues, to the Google office. It was open, colorful and spacious, with big windows -- full of colored balls and furniture that looks like colored balls. Everybody was really friendly and they all said they were having a good time working there. There's delicious healthy food and coffee all over the place -- I was particularly struck by the bowls of berries and pears. And lunch was lovely! So much veggie food (much of it raw vegan, even!), and I ate with Vlad from Romania and Alex from the Ukraine, who were super-smart guys, very personable.
There were four interviews: for each one, an engineer (or sometimes two) came in to talk to me and ask me to solve some problems. The problems were most often conceptual ones, like "what's a good algorithm to do such and such? Alright, what's the running time? Can you make it faster? How about with less memory overhead?"
And I wasn't totally dumbfounded by any of the problems, and I came to a reasonable solution for all of them, but I wasn't like wickedly fast -- hopefully fast enough, though? I ended up using memoization to speed up an O(n^4) search to run in O(n^2), for finding Ramanujan numbers -- but they had to explain what Ramanujan numbers were first. Other problems involved building a parser, implementing some C standard library calls, and addressing issues like "what would you do with a lot of online storage and metadata, like with respect to google applications?" and "what's wrong with current spam filtering? how would you fix it?" Python, Java, C, and Common Lisp were all used, but after lisping for a few minutes, my interviewer asked me to switch back to Python, heh :)
Then I flew back.
It was a lot of fun. I hope I get the job :) I mean -- veggie dim sum dumplings!