Tags: , | Posted by Admin on 1/10/2005 12:18 PM | Comments (64)

A web-friend of mine just interviewed for a tech lead position at Google. Here’s a (slightly tidied up and anonymized) version of their experiences:

Most of my work, at least at the start, should be in “production software”–googlese for the software that helps keep Google’s amazingly huge distributed system running smoothly and seamlessly, and is mostly Python though with ample helpings of C++ here and there and a little bit of Java where integration is needed with some Java-centric application server (e.g. to serve google-ads on sites using such servers).

Plenty of “sideshows” doing such things as statistical analysis and data mining on the huge wealth of data Google collects, maybe giving [name deleted]’s team a hand in data-quality assurance, etc, etc. Plus, every Google techie is supposed to use 20% of his time working on his or her own pet projects which might become Google’s Next Big Thing—that’s how gmail was born.

The selection process is grueling—multiple rounds of phone interviews where they ask you (depending on the fields of expertise you claim) everything from what’s 210, to how you would tweak bits in C to find out if a machine’s stack grows up or down in memory, all the way to having you “program on the phone”… then all of a sudden they rush you to Silicon Valley and you get a long full day of nonstop interviewing. I didn’t quite ace mine because I hadn’t thought of cramming on TCP/IP fundamentals, so I didn’t remember which bits are on in the three packets of the handshake (it’s SYN, SYN+ACK, ACK—I could have worked it out, but not jetlagged and after about 6 hours’ interviews ;-).

I made up for that when they had me program at the whiteboard a C++ implementation of unbounded precision multiplication; I did a test-driven implementation of the trivial routine with std::vector<digit> containers, then did some handwaving about the Karatsuba algorithm (far too hard to implement standing up at a whiteboard, of course ;-) and could sense I had struck lucky… The guy interviewing me at that time had never really done unbounded precision computation work (at least not implementation of high-quality libraries for it), so by just opening the door a crack to the huge and mathematics that underlies that field (in which I had the good fortune to dabble a bit — a byproduct of my interests in combinatorial arithmetic) I had apparently exceeded expectations.

Lots of back-of-envelope computation and the like, too. A friend of mine thought he was doing well in his second Google phone interview when asked to sketch a way to compute bigram statistics for a corpus of a hundred million documents—he had started discussing std::map<std::string> and the like, and didn’t get why the interviewer seemed distinctly unimpressed, until I pointed out even if documents are only a couple thousand words each, where are you going to STORE those two hundred billion words—in memory?! That’s a job for an enterprise-scale database engine!

So, at least as far as the interviewing process goes, it seems designed for people with a vast array of interests related to programming, computation, modeling, data processing, networking, and good problem-rough-sizing abilities—I guess Google routinely faces problems that may not be hugely complex but are made so by the sheer scale involved. I can just hope the actual day-to-day work is as interesting, fascinating and challenging as the interviews were—but from all I hear, it probably is. And they have bar-quality espresso machines in rest areas… ;-)

Original story

Comments (64) -

Lionel on 1/4/2005 11:06 AM Has anyone interviewed for a System Administrator position? I am also curious about the proper interview attire. I sometimes think that being too dressed up can sometimes be as bad as being too dressed down.
Kelvin on 1/4/2005 1:24 PM Has anyone been through the technical writer API interview process?
Kendrick on 1/4/2005 3:42 PM Nobody mentioned the most important and difficult question. I had my first phone talk yesterday, they asked me to evaluate my knowledge on various topics (C, C++, Java, Perl, Python, SQL, Linux, TCP/IP) in scale 0-10 (0 no idea, 1-3 can read, 4-6 comfortable, 7-9 expert, 10 genius). I strongly advise you to carefully think it over before your talk. It could be even better to lower the grades because the stress can very easily kill all your knowledge. Anyway, I’m through to the second level, we will see if I didn’t exaggerate my grades Smile
Suresh Sistla on 1/4/2005 6:00 PM Hi all

I am very happy to see this blog ..
I have an interview with Google next week .. I am sent mail saying to mention my good times.This is for software engineer testing position .

What kind of questions will they ask ??

Please let me know

Regards
Suresh Sistla
John on 1/4/2005 8:18 PM hai. i just attended a walk-in for Google Adwords Representatives in Bangalore. have cleared 3 rounds. awaiting the result of 4th round. i have blogged about it in my personal blog. feel free to check it out….
Morgan on 1/4/2005 10:36 PM Bellend, thanks for your tips. It is always said easy than done.

I was reviewing all books I studied in computer science graduate school back to 1995-1997 during whole holidays before interview.

It wounded up I was interviewed for performance engineer position other than expected Sr. QA position. Performance engineer needs Java in Google (I studied all Google engineers job descriptions too). But Java, I was not prepared, plus I haven’t touch Java since 4 years ago I was laid off as developer then turned to QA.

Before interview I asked recruiter about which position I will be interviewed exactly. She told me I will be told by interviewer.

During phone screen, I was asked to write Java vector add() by using C++ Templates. And what is shortage of it? Of cause I knew answers in general from my little left over memory of that knowledge�s. I have never used C++ Template a single once since I am doing QA & performance engineer. Java is useless in performance test, since it has performance issues by itself.

From my experience, Microsoft interview is much more reasonable & practicable.

I was always great engineer in all my positions. It was their loss without had vision about it.
Lombard on 1/5/2005 12:54 AM I finally had the onsite interview, I’m blown away by how well Google takes care of their employees. The percs are incredible and the work environment is very lively. Its everything I am craving in a new job.

The best advice I can give is be prepared to demonstrate and communicate the relevant knowledge to the job you are applying for. Look at the job description and your resume and leave no subject unrefreshed.

Stay relaxed and smile often.

Heres another blog which can help Google candidates prepare for their interviews.

http://www.hutchison.org/allen/
Lloyd on 1/5/2005 3:12 AM I have an interview today in the next couple of hours for a program manager position. This is the second phone interview for about 30 mins .. what should I expect?
Leroy on 1/5/2005 5:30 AM hi,
i have an technical telephonic interview for google tommorrow at 2 and 3 for adword representative position. i have done my MBA and is bit confused as to what question will they ask me for this round. thanku
Lane on 1/5/2005 7:48 AM From an applicants perspective, it’s amazing to see how much effort Google spends on the overall hiring process. I recently passed two phone screens (1h each) and was finally admitted to a whole-day on-site interview. At that day, they’re really kind and make you feel comfortable. You’ll be sitted in one room for all of your interviews, each lasting 45 minutes. Although I had a good impression of how I performed, I was finally rejected.

After all, I find it a bit difficult to really see what kind of people they are looking for. Of course, they won’t tell you, why they didn’t accept you. That’s particularly frustrating if you invested a great deal of time to prepare for those interviews, like I did. Concluding from my own profile, I’d say they seek programming geeks, preferably with a PhD in CS. Judge yourself, if that’s what you wanna be.

BTW: They actually make you sign an NDA. Ridiculous, isn’t it? It’s obviously part of their arrogant attitude of being so innovative and different from the rest of the world. Besides, the recruiter, you’re in contact with, will constantly ask you for other people that you consider appropriate.
Farrell on 1/5/2005 10:06 AM I sent a resume to google in 2004 when I was still in grad school. Well now a recruiter is calling me in two days to talk about opportunities in the site reliability engineering group. he sent me a job description of an opening that he thought suited me. Should I be prepared for a technical interview? He made it seem like he just wants to chat, and basically wanted to call me the day after he emailed me - not much time to prepare. I have no idea what time he will call and for how long. Rading this blog, I’m very nervous now - at least I have a job I like with a decent salary…so there isn’t too much pressure
Ellery on 1/5/2005 12:24 PM In my first phone interview for a product manager I was asked questions like “if you were to create a browser, what would it look like?” “What do you think a prouct manager does at google?”
Why do you want to work for google and some questions based on my resume.
Edgar on 1/5/2005 2:42 PM Hi Guys ,
I have a 1st round phone interview for the Position of Industry Market Specialist at Google for their London operations. Can anyone throw some light into the type of questions that might be asked ? it is an MBA level role.
Edan on 1/5/2005 5:00 PM Has anyone attended a database/oracle ERP related interview at Google?

I would appreciate if you could share your experience.

Thanks!
Earl on 1/5/2005 7:18 PM In the phone interview I was asked how to explain DNS and Proxy servers to a Sales guy in just a few words in plain English. I searched using Goolge and found that questions being asked include “Explain database to a 3-year old in 3 sentences”. you got be prepared to answer these kinds of questions.
NS on 1/5/2005 9:36 PM Larry and Sarah,

Can you please elaborate on the managerial interviews ?

thanks,
NS
NS on 1/5/2005 11:54 PM Has anyone attended an Engineering Manager position interview ? The position requires 10 years of Software development or Mgmt experience.

Maybe Larry with his program manager interveiw could throw some light on the Managerial interviews on the phone.

I have my first phone interview this week and don’t know what to expct. Any pointers would be appreciated.

thanks,
NS
Denley on 1/6/2005 2:12 AM Guys,
Pls post some good tips on Google intw..I have tech intw next week…
Adley on 1/6/2005 4:30 AM Hi,
I see here more questions than answers, but anyway I’ll post one more.
I applied for a Java Dev. position in Zurich and I’m having a technical interview next week.
Do you happen to know if Google has the same deadly interviews in Switzerland as well?
Cuthbert on 1/6/2005 6:48 AM Google is trying to do a lot of new stuff. So its people are entering the fields they are not familiar with. I want to know if there are any ones interviewed as a technical expert in those fields very new to Google. If so, can you share some experience/thoughts on the approach applicants should take during the interview? Thanks.
Blaine on 1/6/2005 9:06 AM Hey all,
I am interviewing with google tomorrow on the phone for a product manager position. Please please someone, do let me know what to expect since several people here seem to have interviewed for it. I am not the programming but more the business analyst/product manager type. Any help/feedback will be highly appreciated.
Appreciate the blog!
Thanks.
S.
aggie on 1/6/2005 11:24 AM Hi, I am having a technical phone interview with Google tomorrow for a technical account manager position, can someone please tell me what kind of question they will ask over the phone? thanks!
Antony on 1/6/2005 1:42 PM Last week I had a phone interview with Google for a Program Manager (kind of Project Manager) positon, which requires 10-years software development/management, professional consulting experiences. It went OK and a few days later I was scheduled to have an onsite interview next week.
What kinds of interview questions can I expect for this kind of position? Will an engineer be among the interviewers who would ask me to write sorting, binary search, manupulation of a string, etc on a white board? I am fine with those, just would like to be prepared.
Mike on 1/6/2005 4:00 PM hey i have an interview with google for a position of a software engg! itz a telephonic interview.. can ne one tell me what kind of questions they ask over the phone! !
Paul on 1/6/2005 6:18 PM Think of it this way.

Google is worth more than Wells Fargo right now. (And I’m not joking either)

They are the ultimate cool kids clique with a financial future brigther than a super nova.

They are being choosy because they can.

I honestly don’t expect to be hired but I’ll do my best and see what happens.
Norman on 1/6/2005 8:36 PM Here I already see at least three people involved in QA position interview.

Don�t know how many QA positions Google are hiring, those positions had been posted in HotJobs for a very long time already.

Why are they still doing the interview? Too difficult to find smart guys like themself in this world?
Morgan on 1/6/2005 10:54 PM pyre,

Your blog is very informative but unfortunately very frustrating. i ve cleared 1 st round f screening and am ving 2nd round tomorrow. lets see what happens? i ll post the info once am done with my call.All the best guys.
Marcus on 1/7/2005 1:12 AM Hello, I have a first screen interview with Google. Can any one please let me know about how the questions will be.
Lionel on 1/7/2005 3:30 AM I interviewed with them for over 2 and a half months for an Account Manager position. In total, I had thirteen (13!) different interviews all with different people. Two were on the phone, 11 on site. I didn’t get the job. Recruiter told me they went with an internal employee afterall.

Needless to say I’m insulted. The onsight interviews were 40 miles away; 80 miles round trip. You’d think they’d have made that decision BEFORE taking 10 weeks of my time, making me pass a test, a background check, a credit check, a college transcript, calling all my references and an NDA or three.
Lambert on 1/7/2005 5:48 AM Padmanabhan: Using inline assembly makes no sense, because at that moment you are tying yourself to a specific architecture, and then you can as well just look the stack direction up in the processor manual. Wink
Kimball on 1/7/2005 8:06 AM I have a phone interview with google and be informed to have a second.

I want to know how many rouds phone interview and in the second phone interview what question will be asked.

I apply IT Specialist.
Kevin on 1/7/2005 10:24 AM Mani,
Did you get the call for onsite interview at google?If so how did it go?I have an interview scheduled for Qa position this week.

–Padess
Kelvin on 1/7/2005 12:42 PM I’m in the midst of interviewing with google for a QA/testing position.

1st phone intervie went well, simple stuff already mentioned was asked. Powers of 2, search algorithms, basic PERL and unix.

I was told there would be 1 more phone interview then an onsite interview.

I’m appauled on how slow this process is, I’ve been going at it for almost 2 months now!
Jeremiah on 1/7/2005 3:00 PM Ahh… I crashed today at the first phone interview. The algorithm questions were tough and I couldn’t think of a solution in time. Also, I didn’t have time to finish the interview question.
James on 1/7/2005 5:18 PM Hey,

Can somebody tell me what kind of questions we get for phone interview for position within QA/Testing @ Google..

Thanks,
V
Jack on 1/7/2005 7:36 PM RE: QA Engineering, know how to QA http://www.google.com and I recommend understanding the OSI layers
Foster on 1/7/2005 9:54 PM I have a second round interview with Google and for associate product manager (videoconference) interview, can anyone please tell me what kind of questions to expect?
thx
R
Finbar on 1/8/2005 12:12 AM I had a phone interview with Google for QA Engineer position and I felt it went well. After waiting for more than a week I sent an email to my recruiter, to which she replied stating they wish to call me onsite for a Senior QA engineer position. Has anyone interviewed for a QA and testing?
Egerton on 1/8/2005 2:30 AM oh this post just discouraged me.. I have a google interview today and googled “google interview” for the first time in my life.
it seems like they’re freakier than MS.
but I do believe it’s a mind game hehe - thanks spek.
Earl on 1/8/2005 4:48 AM I have an interview for a field tech position. Anyone done that interview ?
Durwin on 1/8/2005 7:06 AM Going for the stack question, inline assembly can easily give the answer you want. The good part is compiler never optimizes away _asm.

Also you can think of volatile if need be.
Driscoll on 1/8/2005 9:24 AM I had persistently applied for various positions, beginning way back around the time Google went public. I *finally* got a call and have a phone interview scheduled.

I do have an Engineering degree. But.. Sheesh, Karatsuba algorithm, unbounded precision math…?
Mommmeeeee.. I dont want to foul up after waiting 18 months for this opportunity!!
Drew on 1/8/2005 11:42 AM Regarding the type of tests, their system of interviewing is one where all interviewers must be unanimous in their approval of you. If an interviewer ask you a question and you don’t know the answer or you get it wrong it isn’t the end of the interview, but if that person didn’t like you, it is.

As for the type of questions, they will ask you to write sorting, binary search, generate permutations, convert base of numbers, etc. You might want to review AP test questions, or similar programming gems.

Be aware that everyone wants to work at google, and that there are a continuous stream of applicants google can choose from. Google thinks of itself as the cool-kids table in middle school, except that you are super smart. It is very important to google to only allow the very coolest kids join the table.
Doyle on 1/8/2005 2:00 PM Does anyone know what kind of questions they usually ask in testing interviews?
Dirk on 1/8/2005 4:18 PM Can anyone here talk about their Product Manager interview? What kinds of questions did they ask? How technical do they get?
Dillon on 1/8/2005 6:36 PM I was invited for an on-site interview 1-2 days after what proved to be the last phone interview. I am flying there tomorrow Smile I don;t know how long before they tell you /me yea/nay.

The phone interview had little technical content. I was asked to talk about my research (I am a PhD student) and they went in detail with one of the things I have worked on. The technical questions were about Java and STL, comparisons, and such.
Derek on 1/8/2005 8:54 PM Same here. I had a telephone interview for Product Manager. Think it went well. He said that I was suited for google - nothing much. There were no programming questions. But he asked some high level architecture questions.

However, its been a week. No one has called me or emailed me the results. I tried emailing them, they said they will follow up. But no news abt the results.

Anyone has any clues on what they ask for Product Management kind of role?
Denley on 1/8/2005 11:12 PM Anyone how long to wait for a callback from them? I finished the first on-site interview a week ago with no call back yet.
Adley on 1/9/2005 1:30 AM For stack question,

How about call a function with two parameters,
and compare the parameters’ address in the callee function.
In C, parameters are pushed from right to left, so we can figure out whether ths machine’s stack goes up or down.
Curt on 1/9/2005 3:48 AM so i’m nearing my interview for google, but i’m a product marketing manager, meaning no PhD/CS. i’m the MBA type. so obviously they aren’t going to ask me about the TCP stack, etc… Might it still be based on case interviewing (a la McKinsey)? i would’t think so, but hard *to* know.
Conan on 1/9/2005 6:06 AM I suspect that using the address of a variable
is enough to keep the compiler from optimizing
it away.
Claude on 1/9/2005 8:24 AM To be safe/paranoid in the stack problem, you should probably actually use the values of both the variables before and after the address comparison. And, dont assign them values from hard-coded constants. Otherwise, you could find that the compiler optimizes away your assumptions.
Chandler on 1/9/2005 10:42 AM Google will make you sign NDA before interviews !!! Is that true ?
Carver on 1/9/2005 1:00 PM Sorry, I didn’t mean you, I meant your friend.
Blaine on 1/9/2005 3:18 PM You potentially might want to re-examine that Non-disclosure Agreement you signed prior to your interview (before it’s mentioned to you by someone else, that is).
Bartholomew on 1/9/2005 5:36 PM What threw me off about the question though, is that it said “how you would tweak bits”. So I immediately started thinking about shift operators and such. Although I think my method is valid, perhaps there is another method….
Addison on 1/9/2005 7:54 PM Kewl! Well, think I should go to sleep now. (Its 4:21 AM here in India and my sem exams are on! :-( )
Adam on 1/9/2005 10:12 PM Exactly.
abby on 1/10/2005 12:30 AM Note the address of a local variable. Call another function with a local and look at the address of that one and then compare?
Aaron on 1/10/2005 2:48 AM You’re on the right track, but don’t count on local variables in a function being allocated in any particular order, and remember what else makes the stack grow.
David on 1/10/2005 5:06 AM Yeah, what is the answer to the stack question?? Only thing I can think of at this hr is to allocate space for automatic variables inside a function and compare thier addresses (so if the variable declared later has greater address implies…). I am sure though that this is the wrong answer Smile
Antony on 1/10/2005 7:24 AM What is the answer to the stack question?
Leon on 1/10/2005 9:42 AM Wow. After reading that, I can’t help but feel stupid ;)
Paul on 1/10/2005 12:00 PM Ouch. I could really see myself crashing-and-burning in even the phone interview, despite the fact that I have a fairly broad spectrum of interests. I would have gotten the 2^10, stack, and SYN/SYN+ACK/ACK questions, but nothing else off the top of my head.

If I had access to google at the time of the interview, however, it would be a different story. In some ways, google has replaced my ability or desire to learn what might be called “reference material”. It would be somewhat ironic to fail an interview with them due to the fact that I had become dependent on their product Smile

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading