I interviewed with Google, but I stopped returning their calls after the second interview because I thought their interview process was dumb. I don't think they would have hired me anyway, because I didn't really conceal my frustration with their questions. Nightmare Google interviews appear to be common, which begs the question: why?
“Estimate the number of students who are college seniors, attend four-year schools, and graduate with a job in the United States every year.” This time I remained poised.
“There are about 300 million people in the nation” I began. “Let’s say 10 million of those are college students at four year schools. Only ¼ of those 10 million are seniors, so that would be roughly 2-3 million. If half of those students graduate with jobs, you’re looking at about 1.5 million kids.”
“Would you say that number seems high, low, or just about right?”
“I would say it sounds low, but maybe that’s because I’m going through the job-search process and I’m wishing the number was higher.”
I didn’t even get a sympathetic laugh. “That’s all. Good luck with your job search.” The phone clicked-- I was stunned. The abrupt sign-off was a clear indication that I wouldn’t be considered for round 2.
In my own case, I was asked to provide compilable C++ code over the phone to the interviewer. The interviewer said I could use a pen and paper to write it out before reading it to him, but was flummoxed when I told him that that wouldn't be possible. I was interviewing for Google from the workplace of my then-current job, and I was on my cell phone outside because I couldn't very easily do that from my cubicle. I asked if I could give him pseudocode, but apparently he had to type my response into an actual compiler to verify my coding ability. Then we got into an argument about how to implement a merge sort. Then the interviewer tried to convince me that the correct answer to a question he asked was to use a quick sort algorithm because it's faster than merge sort. Of course quick sort is not faster than merge sort in a worse-case scenario, which I tried to explain, to no avail.
At this point I suggested that we move on to the next question, but the interviewer would not do so until I verbally related some compilable C++ code for my preferred sorting algorithm. I did my best, but I highly doubt that whatever I told him would compile and successfully execute a merge sort. After this we did move on, but I could tell that the interviewer was as frustrated as I was, and the rest of the conversation was tense.
So, why does Google interview this way? Sure, they want to restrict their hiring to smart people who are likely to fit in with their corporate culture, but what company doesn't want that? Most companies, however, couldn't get away with interview questions like these because they aren't in Google's enviable top-of-the-heap position. Google interviews the way it does for two reasons: because it can get away with it, and to feed the egos of employees. It's not clear to me that this interview style actually contributes to business performance, but it certainly does not eliminate the possibility of future comeuppance. When Google tumbles off the top of the heap, you can be sure that their interview style will find some humility.