My interviews at Google
So I’ve now completed the interview process twice with Google (once in 2007 and once in 2010), and while I’m not sure advice from someone not hired after two run-throughs is all that useful, I figured that the more information out there for those undergoing pre-Google-Interview stress, the better, so here’s how it went.
In both cases, I was contacted out of the blue by a Google recruiter. The first time I had been considering looking for a new role and pursued it immediately; the second time I hadn’t been and put off the recruitment process for several months, during which the same recruiter contacted me again twice to follow up. If nothing else, that’s a nice ego boost, but a more cynical mind might be considering the shotgun approach to a narrow recruiting filter and commissions 😀
First, a quick data point, I was applying for an SRE(SA) position on both occasions – Site Reliability Engineer (System Administration), because in most of my roles to date, I’ve been doing both sysadmin and development work and I’ve never seemed to drift towards one pigeonhole or another. SRE(SA) seemed optimal – interesting sysadmin work on large-scale systems and quite a bit of tool-writing to boot. This was decided on between myself and the recruiter, based on the self-assessment form you are given to fill out. I would love to know how they get around illusory superiority and the Dunning-Kruger effect with those forms, especially given the wierd bias they’d have in the dataset from having so many of the best in their fields working there.
Both times, the process proceeded in the same way: the recruiter themselves carried out the initial phone screening, an idiot test of basic knowledge. The questions at this level are more broad than deep, and you really are talking about easy things like basic unix commands and the like.
The second phone screen was more demanding technically, and was of the same mould as the famous “why is the sky blue?” physics exam question, with an initial simple answer and then drilling more and more into that answer. In my case, both were focussed on the level where user-level unix meets the underlying systems, the sort of thing you’d encounter in writing any kind of sysadmin tool. If I had to give hints here, it would be to know the underlying systems, their APIs, and the unix philosophy for writing tools to work with them.
I’m not sure hints are of much use for Google interviews though – there are many sites saying they have questions used in Google interviews, but I’ve not yet encountered one of those examples after fourteen interviews. Knowing how to tackle Fermi questions (back-of-the-envelope estimates using what seem to be reasonable assumptions, such as “how many golf balls fit in a bus”) is probably a good idea, though I’ve only encountered them in passing; and big O notation has never come up. However, I think that SRE(SA) questions probably lean far more heavily towards the practical workaday stuff than towards application-level design fundamentals. Presumably there’s a different balance for developers. Certainly, practicing fault diagnosis in networked systems would be a good idea, and having your internal process for diagnosing faults well defined in your own head would be an even better one – that’s what the interviews are looking for and if you don’t have it clear for yourself, they can’t spot that.
I would also suggest practicing writing code longhand, in one of the Google languages (C++, Python and shell script seemed to be the most popular). And I don’t mean coding on a machine, I mean writing the code longhand into a notebook and then typing it verbatim into a machine to test it. For a nice side effect, this’ll improve your penmanship and that may prove useful because you will be working a lot with a whiteboard. Incidentally, one of the better tips I’ve come across was to bring your own whiteboard markers (thin ones); it effectively gives you more room to work with, and whiteboards are never big enough, no matter how big they are…
On both occasions, I then went on to do the on-site interviews. In my case, this was logistically easy as I was very close to the Dublin office, which is currently the second-largest Google office worldwide, so I didn’t have to fly to California or anything so onerous, but all five on-site interviews were held on one day, back-to-back, which is a bit exhausting. And on both occasions, the experience was about the same; initially you notice very Californian decor, with even the temp receptionist surrounded by a dozen or so lava lamps in alternating colours, with everything nice and brightly lit, and with swiss balls everywhere acting as seats and so forth. It does sound very Dr.Seuss, and it is in a way, but it’s a lot nicer than that sounds to be honest (if a bit… young), and there’s definitely an element of creating a culture through a particular physical appearance. The entire office complex is self-contained for the most part, with its own on-site canteen (which, by the way, is quite impressive – any canteen that can cook cous-cous properly for a thousand or so servings, while serving up at least four other lunch menus, is showing off very competent catering skills indeed, even if noone’s noticing most of the time), gyms and so on. In fact, walking around the streets you’d never know how many people are working in the offices from a casual glance.
Again, on both occasions, the procedure was the same – I was met in reception after checking in by the recruiter, who’d booked an interview room and who walks you around the office a bit on the way there. Take a look around at this point; it’s an interesting office setup. Once there, the recruiter introduces the first interviewer and leaves you to the interview process and retrieves you at the end of the day to walk you out (after which point, the interviewers write up their reports and the hiring committee makes a decision. Start to finish, it’s been three to four weeks each time from initial contact to final decision).
There were five interviews back-to-back each time, and the technical areas covered for me were those you’d expect for such a role: Design and Coding approaches; Unix/Linux sysadmin stuff; Networking; Scripting; Troubleshooting and problem-solving; Disk and storage systems. One google expert in each area, with the brief to start light and then push and push until you’re out of your comfort zone and well into your sweaty, stressed, exploding-head zone. If nothing else, you do wind up learning things from Google interviews, which is reason enough to undergo them to be honest. I didn’t know about isatty() until this round of interviews, for example. I don’t know of any other interview process that could be counted as a continuing professional development activity 😀
I’ve read accounts of Google interviewers being uninterested in the interviews they’re carrying out and being borderline rude in some cases; I have to say, I never encountered anything like that in any of the fourteen interviews I did over the two occasions, and never encountered anyone doing an interview who was less than professional about it; and most, if not all, were quite happy people during the interviews. Honestly, I never picked up on any personal or professional issues towards me, there was nothing but buy-in to their way of doing things. Which was quite impressive – I’ve interviewed with companies before where the interview felt more like a test of how much abuse you could tolerate, or where the company was simply wasting my time and theirs (for example, calling me in for an onsite interview that ate half a day, only to announce that they couldn’t pay me more than 60% of the expected salary).
There’s not much feedback in the interviews though. That’s about the only real criticism I have of them. I can understand the hyping of the interviews – as much as you try to null it out, it does create mental stress and some think that gives greater insights into your real abilities (although frankly, it’s not the same kind of stress as you get during your daily work, so I don’t think it’s as useful as you’d imagine). I can understand the mythologising of the Google workplace (and given the professional and personal advantages that workplace offers, I can accept it as the cost of doing business).
Actually, to digress for a moment on the workplace, I should point out that one of my main concerns while interviewing was how Google and professionals with families get along. Famously, Google is a young work environment, and while an eighty-hour work week, all-nighters and completely obsessive behaviour around your job is something you can manage to do in your early twenties, I don’t think you should do it – I think it’s one of our industry’s worst cases of macho-driven work practices, and a main reason for the high instance of IT project failures. Beside that opinion however, there’s the very real point that by the time you hit your thirties, you have to worry about wives, children, and other family things outside of work; and often you are faced with a choice between being a good employee and being a good person (and yes, I count letting obsession with work take over time that belongs to your family as a character failing; and no, that’s not the same thing as having to work long hours, that’s a different thing entirely).
Google, however, seems to have taken this on-board, and everyone I spoke to about it had similar experiences – the mean age of the work force in Google is increasing, and more and more now have young families and work practices and facilities are changing to match the new demands. Childcare is the new free food, being family-friendly is now part of doing no evil.
Feedback, however, is still a verboten topic. Interviewers don’t (and one told me they’re not allowed to) give feedback; nor are you given any if the hiring committee decides not to go with you as a candidate (which is what happened in both cases for me). That is rather fustrating – there’s no way to tell if you flunked a particular area, or if it was just that it wasn’t thought that you’d fit in with the Google environment. So you can wind up going through a process taking a few weeks, bringing a lot of stress, go through seven (or more) interviews, and not learn at the end if the problem was your technical proficiency or your popularity. Which is… suboptimal, at least from the interviewee’s point of view. From the interviewing company’s point of view, I suppose it could be said that every minute spent on a candidate after a decision to not hire them is a wasted minute; but the fact that you could be coming back to that person in a year or three does somewhat argue against that view.
In short, it’s pretty tough, you will have to study hard for it (well, that’s to be expected), you may find your brain stalls because of the stress on things you fully grok day-to-day (that happened to me several times), and at the end of it all, you might be turned down purely on social reasons without ever being told it was because of workplace fit instead of technical competence. It’s still worth doing though, if only for the experience. Good luck!
This is almost my exact same experience. I made it through three phonecalls (1 screening and 2 phone interviews) during the winter of 2009-10. I was going for an SRE position as well. I screwed up in the interviews a lot simply because I would get flustered and completely forget simple terms and commands. For a question about TCP handshake packets, all I could come up with in my head were “sed” and “awk” instead of SYN and ACK.
I’ve interviewed at several Silicon Valley companies for SRE-equivalent positions and fail most interviews. I suspect it’s because it’s hard for me to convey what I’m truly good at during a Q&A interview process since these positions don’t stress a scientific-level knowledge in any particular field.
I had almost the same experience with the TCP handshaking Sean – my brain simply froze up and I couldn’t remember the basic handshake protocol. Worst case of mental block in years. About five minutes later in the interview I had the forehead-slapping “D’Oh” moment and went back and went through it for the interviewer, but I think by that point the first impression was already made 🙁
[…] This post was mentioned on Twitter by Mark Dennehy, hkrnws and Planet Python, Draul Parkway. Draul Parkway said: Mark Dennehy: My interviews at Google http://www.stochasticgeometry.ie/2010/07/20/interviews-google/ […]
How many employees work in the Dublin office? When I was visiting the NYC office, they told me it was the second-largest office worldwide, with 2000+ employees.
I’m not sure of the exact number M, but I was told the same thing.
About the tcp handshake question, the recruiter asked me what area I am comfortable in and I replied that I am a specialist in tcp/ip protocol (famous last words :)). Her first question was explain the handshake and I messed up by saying its SYN – SYN ACK – SYN ACK. As soon as I said that I knew my mistake but by then she already told me the correct sequence of packets. After that I just didn’t remember what else she asked but it pretty much went south.
[…] Author: Mark Dennehy | Categories: General, Linux, Python, Systems Administration | Posted: 20 July, 2010 | Comments: 6. See the original post: My interviews at Google ( Stochastic Geometry ) […]
I also had two onsite interviews at Google headquarter. Most interviewers are very young with 3 or 4 years work experience. They grilled me with many hash and large data set search and sorting related. Some are very nice and some are a little rude. The questions are not interesting overall. Nice lunch. 5 or 6 interviewers back to back, made me exhausted. I wish they ask me 3 way handshake, but they didn’t. One guy argued with me about whether OS should do power management. I said yes, but he disagreed. He then in last 5min asked me a complex algorithm and its coding – not fair, because I did not have enough time. The question is to find a 3 line segment (from a big document ) that contzins all searched words with shortest distance between them. If you go there for interview, maybe it is useful to think about the above coding question. Other questions about large dataset analysis are also important. 3 of 5 interviewers would ask you about large dataset analysis.
Did the google interview myself about 8 years ago.
Since then 19 of the students I mentor went through the process.
The usual pattern:
You get interviewed by very young (and most of the time very green) “seniors”.
They ask a lot of low level knowledge questions (hashes, trees, protocol specs).
The stuff I teach _not_ to memorize, but to look up when needed.
Then they ask some questions to check how good you are a guestimating (how many plumbers are in country X)
and doing simple math.
In the end they take the applicants who are “average” (Seth Godin calls them cogs.)
Out of my 19 students they accepted 4.
(1 was the best of the group, the other 3 where less than average.)
All in all a good reason why I don’t want to work there.
my guess is that the reason they don’t offer feedback is that they don’t want people memorising the “correct” answers just so they can get past the interview.
I think they may be looking for people that can pass the interview naturally the first time.
having said that, I’ve never bothered interviewing with them – I’ve been approached by the recruiters as well a few times over the years, but there’s no way I’m moving house yet again. I’ve got a family and am sick of the turmoil of changing neighbourhoods every few years. (also, I dislike cities)
i was just contacted by a recruiter, would be my second go
(first one was exactly a year ago). that one went well on the
phone (i thought at the time), but i was rejected before
the on-site interviews. (for the same position btw).
frankly i am not motivated at all to get back to them.
the recruitment process is way too long, stressful,
i get no feedback at all and they probably wont offer
me more i am making now.
(someone should tell these IT companies, that herbartian testing
has been abandoned decades ago, and they should move on)
I have worked at a few american companies at this stage and quite a few have adopted this multiple interview Google/MS approach. Having been through a 6-hour interview at one place (successfully) I was then (within two months) activly interviewing candidates. The process which had looked well organised and sophisticated two months previously turned out to be chaotic, arbitrary and ineffecent. We (in pairs) would be told to inteview someone for an hour and would be given a vague topic/subject on which to grill the candidate. Afterwords we would meet (up to 12 people) to decide on the candidate’s fate. This is where the process really fell apart. Instead of scoring the candidate there was a lot of wooly impressions/opinions offered up to our boss who then made a final decision. There were a number of serious problems with this. It was difficult to block a candicdate even if two/three people had issues. There was, as I said, no real scoring. I would much preferred to have had pools of candidates to pick from than have to make yes/no decisions on individaul candidates (this caused a serious problem as we were continuously hiring people and were pusehed to accept candidates that would have not survived a panel selection). Little consideration was given to the position the candidate was targeted for. One candidate that I had flatly rejected as having too little real experience (and to my mind not very good coding skills even for a person of his experience) may have been suitable as a very junior developer but was hired into a postion which he could not perform well but pressure for bodies saw him hired anyway.
I also experienced a similer descrepency in the working conditions in that the place appeard to be a greate place to work (like Google, cool & bright environment, young workforce, good pay, good free canteen, gyms, great equiipment etc) but the reality was very different. Poor management, poor communication, poor engineering, poor moral (all leading of course to large staff turnover and thus the constant interview treadmill). I left after 18 mounths.
I too have interviewed with google in 03 for a DC position.
I have grown old in this industry, and worked from help desk, servers, networks, and management.
What I see in the large companies is the attempt by non-technical managers, to manage the people and technologies. I have heard statements like “I can manage anybody” from managers who risk data loss on a daily basis; and managers who hide in the office to avoid any technical discussions. I was stunned by this early, but now it is just-the-way-it-is.
The google interview is the “stress” interview. If you cannot handle it, you cannot handle our stress. This is the group herd mentality, not-thought-up-here, it must be _______ (fill in blank).
I personally have hired a dozen or so SA’s over the years. I always worked to match skills sets, potential growth, attitude with what I needed to have done in the job. During the interview, i grilled for those aspects. And I was happy when they people I hired all moved up in their respective careers.
I think what google and other companies try to do from the management perspective, is to create a process (template) which will result in the best hire. Managers who have no understanding of the work, often think that a process will make up for that lack of knowledge is better than experience and knowledge. Or at least, when the hire doesn’t work they can say the process broke.
As most SA’s learn in the early years, process does not make up for lack of knowledge.
I find it remarkably sad, funny yuk and disturbing, that most of the upper management believes process trumps smarts. When the only people in IT, who are asked to follow process and not deviate are computer operator.
I’ve interviewed there twice in the past few months (the first didn’t go anywhere, and the second was with a different part of the company who did make me an offer, though not a particularly good one). I was actually less interested in working at Google the more interaction I had with them. The hiring process was extremely bureaucratic–it took them more than two months to make an offer I didn’t want to accept. I was transferred through five different recruiters, and they would tell me virtually nothing about the position they actually wanted me for. I would have had to accept the offer without meeting anyone I’d actually be working with, nor knowing what I’d be working on, after three phone interviews and two onsite interviews. The hiring process seems geared to attracting people who don’t care very much about their coworkers or what they work on, but are so dazzled by the thought of working at Google that they’ll accept any offer.
The original post and some follow up comments mirror my unsuccessful experience in 2006 at the Googleplex interviewing for some sort of programme management position. My recollection is of being asked some conundrum regarding sugar in bottles that none of my buddies could later resolve either. My 2nd recollection is that, in my late thirties, I felt like I was at high school while enjoying their fantastic food service such was the youth of everyone else. My 3rd recollection is that Muhammed Ali was there that day, dunno if he was interviewing too! And finally, that I passed on a trip to Alaska to do the interview!
I wonder if successful applicants are asked not to post on topics such as this.
Hey, I’d hire you based on that thorough reporting of the process.
Your experiences match my (single) interview with them in 2006. I found the actual interview process rather fun, since I enjoy those kinds of technical puzzles. (I never got anything like the ping-pong-ball question, though.) Also, I found their lack of feedback rather disturbing and I still have doubts about the lack of an eighty-hour work week.
Google has been pathetically begging me to interview with them for the past six years. I have absolutely no idea why I would ever want to work at Google — I’m doing ridiculously wicked stuff at the small startups I prefer, and feel I’d be bored silly writing back end management code for a mature product at Google — but they keep calling. Perhaps the idea is to irritate you enough to go through the process? In any event, the lack of any job description from the recruiter seems par for the course, and guaranteed to waste your time. Going through a months-long process in order to be given an offer for a job that would bore you silly and that you could have told them you wouldn’t accept back at the beginning of the process seems to me like a gigantic waste of resources, but I suppose they’re trying to filter out people who aren’t overawed by the notion of working for what is, in the end, just another Internet service provider (albeit a very large and wealthy one with an extensive infrastructure). They want acolytes, not engineers. And what they’re getting today is people wanting Google on their resume, who are going to stay for two years then move on — i.e., resume builders, not people who are going to move the company forward. But I suppose as long as their search cash cow keeps spurting cash, they’ll see no reason to change — just as Digital Equipment Corporation saw no reason to change as long as their VAX minicomputer line was spurting cash. Of course, you know what happened to DEC when more powerful microcomputers rendered their big scientific minicomputers obsolete… Google will go the same way as soon as someone figures out a better paradigm than Google for finding things on the Internet. Which has to happen, because Google’s results are getting increasingly arbitrary…
Thanks for this great story. Once upon a time a nearly got there, but i had to quit because of my private reasons. Your story reveals that GOOGLE seems to be really impressive company. I wished to work for them one day.
I had almost the same experience with my first interview with GOOGLE in 2009 that i passed and was actually thinking that the questions were not appropriate for the sysadmin position i was applying for. But i had another experience with another company which was asking me DBA questions for Sysadmin position, so I think now that GOOGLE interview questions were indeed not that bad.
I wish to work at Google in future. Guys like you always motivate me 🙂
It’s too much work to be a well-paid slave 🙁
Having interviewed at Google, and having the privilege of living with a Graygler who’s been interviewing for ages as well, I found the post/ article pretty much spot on. Only I interviewed on both occasions for India locations. The problem is, as much as the interviewers have been trained or mentored, they carry their set of biases, not to mention the entire Emperor’s New Clothes syndrome. While being full of oneself isn’t limited to any organization, the fact that it’s nurtured and encouraged is bewildering.
Also, Google specifically asks for a subjective analysis, with their Googly-ness quotient, which simply put, asks the interviewer whether they think the interviewee would fit in, and would they themselves like to work with them. While both factors can’t be dismissed, to have them as a holy grail is IMO too harsh. It eventually boils down to your equation with any of the 6-7 interviewers you might face. If one review isn’t in line. That’s it. Curtains.
However, in line with some of the comments above, two critical facts of Google Hiring are simple:
They want average happy go lucky people, who would still be wowed after years of free food and the jazz. And most importantly they do not want people with minds of their own. Herds are what they hire, and that’s the only way, no one’s keen to continue a no-brainer job all their lives, unless they are No-brainer’s.
Freshly-minted graduates with limited ambitions are preferred and suit them well.
In India, simply working for Google bests your social status BIG time, even if you’re a janitor. And free food matters in the third world! 😛
These were non-tech; sales-optimization jobs. And going by the people they’ve been hiring (even third party vendors), they are the stuff Orwellian 1984’s are made of.
Mediocrity is of essence, if you don’t have it and stand out in a crowd. Too bad, you don’t make the cut.
People are mostly polite but struggle to have a healthy conversation which does not rave about the organization that does no evil!
Hey, MadHatter, good Google criticism. But funny… you’ve got absolutely no idea about India or the third world. And remember nothing comes ‘free’.