Today’s tough job market allows companies to put prospective employees through the wringer in interviews with little fear that they’ll leave in disgust. Imagine a company asking you back for 5 interviews and then rejecting you. Or imagine being asked how you would go about weighing your own head. These are a couple of the things that William Poundstone describes in his excellent book Are You Smart Enough to Work at Google?
On one level, this book is a collection of questions that interviewers ask during interviews. Some questions are difficult puzzles with an objectively correct answer. For example, suppose that eggs thrown out of a 100-story building always break when thrown from a particular floor or higher and never break when thrown from lower floors. You are given 2 eggs and may retrieve an unbroken egg after a throw, but a broken egg can no longer be used. Yo are to devise a strategy that determines the highest floor from which eggs don’t break. Your goal is to minimize the maximum number of egg tosses required. In the calm of my own home I was able to solve this one after a while, but I could easily see most candidates flailing around during an interview unable to think straight.
Other puzzles are designed to see whether you tend toward technical solutions or pragmatic solutions. For example, suppose you want to know if Bob has your correct phone number. You can send a note to Bob through an intermediary Eve. Eve will take your note to Bob and return Bob’s response without changing either note, but she will read them. If you don’t want Eve to know your phone number, what message do you send to Bob? One answer is to use public-key cryptography and to send Bob a public key, and ask him to send back an encrypted copy of your phone number. A more pragmatic solution is to tell Bob to phone you with the number he has for you. Which answer impresses an interviewer the most depends on the interviewer and the culture of the employer.
This book isn’t just a list of puzzles, though. Poundstone gives a lot of insight into the kinds of employees different companies want. For example, Google values pragmatic solutions to problems and likes solutions that make use of their massive databases built from user search data.
The book includes an answer section for the puzzles, but the answers given aren’t always the best available. For example, Poundstone’s cryptography-based solution to the phone number puzzle above is insecure. Another puzzle asks how you would use a fair 5-sided die to decide which of 7 people gets a prize assuming that the choice must be random and fair. There is a more efficient solution than the one given in the book.
Overall, I enjoyed this book and recommend it to anyone who likes puzzles, is interested in the corporate culture of various large companies, or who expects to be interviewing and would like to be prepared for some tricky questions.