Peteris Krumins is nothing short of a technical genius. Every single one of his blog posts is so detailed, one can write a book about it. He blogs about Linux, programming, and other tech stuff on his blog http://www.catonmat.net/.
A short while ago, Peteris posted his very thorough experience interviewing at Google. Needless to say, the level of detail is astounding. Unfortunately, he didn’t get the job but the post is very positive and informative. Here is the gist and a short excerpt:
- There were 3 phone interviews and 5 on-site interviews.
- Peteris flew in all the way from Latvia, fully sponsored by Google. They paid for his flight, hotel, transportation, and food – brilliant!
- The interviews were very technical, with an emphasis on algorithms.
- Google’s preferred language seems to be C/C++, though I know they use Python extensively as well.
- If you’re interviewing, you better be very solid in computer science theory and data structures. At the same time, they treat every error in code very seriously, so even memory leaks are not acceptable. In fact, it looks like a few such mistakes cost Peteris his potential job.
- The questions included data structures, networking, OS/filesystem, algorithms, and past work experience.
- Google, of course, treated Peteris to a great lunch.
In order to prepare for his interviews, Peteris reviewed lots of both theoretical and practical problems. He posted a great list of books:
- TCP/IP Illustrated
- MIT’s Introduction to Algorithms + his notes on algorithms
- Building Scalable Web Sites
- C++ Cookbook
- Python Cookbook
- Perl Cookbook
to which I can myself add
- Google C++ Style Guide <—excellent style guide, every C++ programmer needs to read it
- Web Search for a Planet: The Google Cluster Architecture
- Algorithm Tutorials on TopCoder
- Corey Trager’s Google Interview
- Rod Hilton’s Google Interview
- Ben Watson’s Google Interview
- Shaun Boyd’s Google Interview
- How I Blew My Google Interview by Henry Blodget
- Get That Job at Google by Steve Yegge
- Tales from the Google’s interview room
- Google Interview Questions
- Google Interview Questions — Fun Brain Teasers!
- The Google File System
- Bigtable: A Distributed Storage System for Structured Data
- MapReduce: Simplified Data Processing on Large Clusters
- Failure Trends in a Large Disk Drive Population
Read the full experience at http://www.catonmat.net/blog/my-job-interview-at-google.
Thanks, Peteris and good luck on your next interview.
In the meantime, if you found this article useful, feel free to buy me a cup of coffee below.