You are on page 1of 13
sinsr019 Faling at Google Interviews - Alex Bowe ALEX BOWE HOME ALEXSOWE TWITTER RSS. RAMMING LANGUA PRODUCTIVITY MISC Yura or: alin 2 oop ere Failing at Google Interviews ve participated in about four sets of Google interviews (of about 3 interviews each) for various positions. 'm still not a Googler though, which | uess indicates that 'm not the best person to give this advice. However, | think it's about time I put in my 0.002372757892 bitcoins. | recently did exactly this to help my brother prepare for his, interviews and the guy kicked ass. fhe gets the job Im going to take as much credit for itas ean) During my interviews! didnt sign a NDA, but | do respect the effort that interviewers put into preparing their questions so I'm not going to discuss them. That doesn't matter though, because you probably wont get the same questions anyway, and the algorithm stuff is far from the whole story This post is mainly about the rituals | perform during preparation for the interviews, and the lessons | have learned from them. | am of the strong opinion that everyone should apply for ajob at Google, Why Should I?! Not everyone wants to work for Google, but there are valuable side effects to a Google Interview. Even if you dar't think you want a job there, or think that you are under qualified, itis a great idea to just try for one, The absolute worst thing that could happen is that you have fun and learn something, A couple of the things | learned are algorithms for (weighted) random sampling, queueing, vector calculus, and some cool applications of bloom filters. ‘The people you will talk to are smart, and its a fun experience to be able to solve problems with smart and passionate people. One of my interviews was just a discussion ‘about the good and bad parts (in our opinions) of a bunch of programming languages (Scheme, Python, C, C++, Java, Erlang). We discussed SICP and the current state of education, and he recommended some research papers for me to read. All the Intriguing questions and back-and-forth made me feel like | was being taught by a modern Socrates (perhaps Google should consider offering a Computer Science degree taught entirely with interviews :P) hitpsiialexbowe. comaling-at-googleintoviows! ABOUT ALEK exis Ph. tdert at the Nationa inte of Iormates Toye Fe ako Wl Colabeates th Hyper slanc on er igh ata atest RECENT POSTS DDRY Function Pointers in C Suecinet de Bruin Graphs Falling at Google interviews Fsindexes and Backwards Searct Wavelet Trees - an Introduction ARCHIVES Select Month ws sinsr019 Faling at Google Interviews - Alex Bowe Sadly, a subsequent interview sturnped me because | didn't understand the requirements, Even the stumping interviews have given me a great chance to realise some gaps in my knowledge and refine my approach. | knew that it was important to get the requirements right, but this really drove it home, hope Ive got you curious about what you could learn from a Google interview. If you are worried about the possible rejection, treat it as a win in a game of Rejection ‘Therapy. You can re-apply as many times as you like, so you could also think of it as TOD for your skills, and you like TDD, right? How To Prepare for the Interview : Technical When you are accepted for a phone interview, Google sends you an email giving you tips on how to prepare. Interestingly, this has been a different list each time. Ill discuss, the one I liked the most. They only give advice on the technical side. I will also discuss what | think are some other important aspects to be mindful of, First of all, you are going to want to practice, Even if you have been coding every day for ‘years, you might not be used to the short question style. Project Euler is the bomb for this. You will earn some maths too, which will come in handy, and it builds confidence. Do atleast one of these every day until your interview. You will also want some reading material. Google recommended this post by Steve ‘Yegge, which does a good job of calming you. They also recommended another post by Steve Yegge where he covers some styles of questions that are likely o be asked. Yegge recommends a particular book very highly - The Algorithm Design Manual More than any other book it helped me understand just how astonishingly commonplace (and important) graph problems are - they should be part of every working programmer's toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. But the gold mine is the second half of the book, which is sort of encyclopedia of T-pagers on zillions of useful problems and various ways to solve them, without too ‘much detail, Almost every t-pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types. Penta | haven't read the whole thing, but what | have read of itis eye and mind opening, This wasn't recommended to me directly by Google recruiting staff, but one of my interviewers emailed me a bunch of links after, including a link to the page for this book. ‘There was a recent review of this book featured on Hacker News. It is very good. The author, Steve Skiena, also offers his lecture videos and slides ~ kick back and watch ‘them with a beer after work/uni Ifthe size of The Algorithm Design Manual is daunting and you want a short book to conquer quickly (for morale reasons), give Programming Pearls a read. Answer as many questions in itas you can, itpsiialexbowe. comaling-at-googleintoviows! 23 sinsr019 Faling at Google Interviews - Alex Bowe ‘Additionally, Interview Cake offers a new approach, which systematises your technical preparation so you ‘can know exactly what to focus on while avoiding becoming overwhelmed, Itis a pald service, but they also have a free mailing lst with weekly questions to keep you sharp (great for your long-game). The phone interviews usually are accompanied by a Google doc for you to program into. | usually nominate Python as my preferred language, but usually they make me use C or C++ (they often say I can use Java too). |was rusty with my C+ syntax. at the time, but they didn't seem to mind, |Just explained things lke using templates, even though I can never remember the syntax for the cool metaprogramming tricks. Speaking of tricks, you get style points for using features of the language that are less, well known. | had an interviewer say he was impressed because | used Pythons pattern matching (simple example: (a, 6) = (b, a)). List comprehensions, map/reduce, ‘generators, lambdas, and decorators could all help make you look cool, too. Only use ‘hem if they are useful hough! How To Prepare for the Interview : Non-Technical Trere will also be a few non-technical questions. When | did my first one, a friend recommended that | have answers ready for cookie-cutter questions like “Where do you see yourself in ten years?"and ‘Why do you want to work for Googie”, Don't bother with that! Do you really think one of the biggest companies in the world will waste thelr ‘time asking questions like that? Every candidate would say the same answer, something ‘about leading a team and how Google would let you contribute to society, o whatever (great, but everyone wants that) They will ask you about your previous work and education, though, and pretty much always ask about a technical challenge you overcame. | lke to talk about a fun incremental A* search | did at my first jab (and why we needed it to be iterative). You can probably think of something, dont stress, but better to think of it before the interview. And have a question ready for when they let you have your turn, Don't search for ‘good questions to ask in technical interviews”, because if it isnt your question, you might be uninterested if the interviewer talks about It for a long time. Think of something that you could have a discussion about, something you are opinionated about. Think of something you hated at a previous job (but don't come acrass as bitter), how you would improve that, and then ask them if they do that. For me, | was interested in the code review process at Google, and what sort of project they would assign to a beginner. | know someone who asked questions from The Joel Test. The interviewer might recognise these questions and either congratulate you on reading blogs about your field, oF quietly yawn to themselves, Its up if you want to take that risk (well, i's not a big risk). I definitely think its better to ask about something that has the potential to annoy you on a personal level if they don’t give you the answer you want its subtle, but people can detect your healthy arrogance and passion. Ifyou have a tech blog, refer to it. Ive had interviewers discuss my posts with me (which they found from my resume), Blogs aren't hard to write, and even a few posts on an itpsiialexbowe. comaling-at-googleintoviows! ans sinsr019 Faling at Google Interviews - Alex Bowe otherwise barren blog will make you look more thoughtful Finally, the absolute best way to prepare for a Google interview is to do more Google Interviews, so ifyou fail, good for you! ) Just Before the Interview Here are a few things that help me handle the pressure before an interview. (One time | was walking to an interview in the city (not a Google interview) and | was really nervous, even though | didn't care either way if | got the job. | thought about how the nerves wouldn't be an issue after the interview, because Id have already done the scary thing by then. | couldn’ time travel, but | instead wondered if there is a way to use up the nerves on something else. ‘There was a girl walking next to me, so | turned to her and said she was dressed nicely, She said a timid “thank you" and picked up pace to get away from me, l laughed at my failure, but suddenly | didn't feel so scared about the interview. | think this is a gre: ‘example of why Rejection Therapy is worth experimenting with So yeah, talk to a stranger. Ifyou are waiting at home for a phone call though, another thing | do is jack jumps, dancing, or jogging on the spot just to make myself forget the other reason my heart is pounding so fast. During the Interview Ifyou are doing a phone interview, answer it standing up (you can sit down after) and pace around a little bit, Smile as you talk, as well, You should also take down their name (on paper ready to use a few times casually, These are tricks from the infamous How to Win Friends and influence People. Maybe these alone won't make you likeable, but | ‘think it causes you to think about the other person and stop being so self conscious, which helps you to relax. You'll be one charming motherfucking pig. Take some time to think before answering, and especially to seek clarification on the questions, Ask what the data representation Is. Ive found that they tend to say “whatever you want", Ina graph question, | said “Okay, then it's an adjacency matrix’, ‘which made the question over and done with in ten seconds. The interviewer seemed to like that, so don’t be afraid to be a (humble) smart ass. You might recognise the adjacency matrix as potentially being a very poor choice, depending on the nature of the graph. | did discuss when this might not be a good ‘option. n fac, for every question, | start off by describing a naive approach, and then refine it. This helps to verify the question requirements, and gives you an easy starting point. Maybe you could introspectively comment on agile methodology (Google practises Scrum), (One last thing! Google schedules the interview to be from 45 minutes to an hour. | have had awkward moments at the end of interviews where the interviewer mentions that four time is nearly up, and then asks another question, or asks if have any questions. It made me feel like he was in a rush, so I didi feel like expanding on things much. Now, | recommend taking as much time as they will give you. Keep talking until they hang up ‘on you if you have to } although it might help to say “I don't mind ifwe go over, as long {as 'm not keeping you from something” when the interviewer mentions the time. itpsiialexbowe. comaling-at-googleintoviows! ans sinsr019 Faling at Google Interviews - Alex Bowe Reflect Steve Yegge says there are lots of smart Googlers who didn't get in until their third attempt (still haven't gotten in after my fourth, and I dontt think I'm stupid). As mentioned, fm writing this post because I found the process of doing a Google interview atallto be very rewarding. Itis important to reflect afterwards in order to reap the full benefits of interviewing at Google. If you did well, why? But more importantly, if you feel you did poorly, why? Google won't give feedback, which can be a bit depressing at times, After each interview write notes about what you felt went well and what didn’t - this way you can look back if you dor't get the job, and decide what you need to wark on. This post is the culmination of my reflections and the nates - if you decide to write a blog post, 'd enjoy reading it and will link it here. I you want more blog posts to read about how to get better at Computer Science, | recently found this post by Matt Might to be a good target to aim for. Check out Ten, ‘Things Every Computer Science Major Should Learn by Macneil Shonle as well, and my previous post Advice to CS Undergrads (the links at the end in particular, ‘And as always, please read the comments below and add your own thoughts to the discussion. In particular, Sumit Arora gave some important advice that | did't cover. Have you really read this far? Consider adding me to Twitter and telling me what you ‘thought ) 57Comments Alex Bowe ® Login » Recommend # — Wiweet F shar Sortny Best = ain the discussion, Loman con sion ue mms caus @ Name ier coiy comers ett we Gao ins, 1 you tak about the programming then (Gtep-1): You should have practical understanding of the Algorthme (eg. When to use BackTracking, Wren to Use Divide ‘and Conquer, Why double nashing required Where bre force ‘concept canbe applied 7) (Gtep-2) You shoulé have practical understaning of Data Structures a. (Practical us ted to when to use ‘irular buffer or when to use ascent let) (Stop3): You most practice several coding problams 0 implement the things which lam fram Stop-t. and Stop-2 (you ‘may doth folowing choose any coding language fr the choice cf yours (C++ er Java or Python or PHP) ‘othr than that itpsiialexbowe. comaling-at-googleintoviows! sinsr019 Faling at Google Interviews - Alex Bowe 19 | Y= Real» Stare» © ee Boe tes A Sante bye 2 “Thanks forthe contribution Sumit. | agree with everthing you wrote. The algorithm sts covered in Algorithm Design Manual, bul eat say it coxph ‘recent read Cracking the Coding interview (ouiptwwamazencom'crack. which gave smite advice, | would tke fo ada that even you choose Python, you shouldbe familar with ether Java or C+, because they wil probably sil ack you questions about those (the are ‘he languages thay use most or production code). [And fm glad you sai that ns sn just about Google, The fact thatthe company doesn't mater hes missed mary people :) -FWIW, my mistakes wer spocfcally not understandngilarying the question. This is probably ‘easier to rememiverto dof you express your assumptions ‘2nd ak ough your thinking more isnt easy to master ‘his without practice he. recommend song ‘questions with ond (ake in uns to aek eachother, but iscuss i togetren, add a nk your comment in the article. Thanks aga. S| + Raph» Shaws (© Serie Arora ctor yen o02 ‘Thanks Alex), for yourrepWy:=) 1A v= Reply Shares @ ese oe usualy start wth a naive approach o buy some time ané wil am doscbing the naive approach, thnk about the optina solaion fra problem, 1A) v= Reply Shoes © ees tarts. rave san rg som soos - ‘preparation and | now have some good idea about how the: {ove inerve rag bee. afl reading the rile am stoning my preparation wis a waste eat ear Inervis tom he to campaes(Goegh, Mlrosah Ape Arsazon, Facoboos) Or ate here oe companies at do CS ago based interviews? ye, where in hon? tay Raph» shee © Wee ws A ease 30a 0 = have intervewod wih some other companies oo, and ‘most of tem asked me algorithm style questions (the ‘ones that cdr lady know me personally). dort think |Rwould be a wasto to prepare for algorttm questions :) A + Reply» Share» @ Fino cy trig ssoitrg wt ooig s ose tes yct anon A et yar ttcenoor aan oe ow ber ree Be “Thanks forthe comment Ar! di find it rewarding an enjoyable, and an efcient way to lear and benchmark nyset. hitpsiialexbowe. comaling-at-googleintoviows! sinsr019 Faling at Google Interviews - Alex Bowe 5) y= Reply» Shao» Hoy ox | cunno I you stl ook at his bog, but am actualy Intevewing for @ non-technical postion at Google. Do you know how the process i ke or tase kins of ol? Ido nk t reauire coting, butt sounds Fke 2 supporto, you can tll ‘me what you know how to propars fora non-technical oo, would be vary much appreciated. 5) + Roply« Stare Hot Ax, [have 2 wooks lef for my technical phone ntrview pase et ‘me now where shoula begin my preparaton form technical hone ineriow? ‘Thanks = Rapp» Share wo Note cnet oateetes tegen esos bat praca ra ono art ky Rares watn tpt scp, ethan than, Jrucan poner geo oven dotarvnerglo Teen mine eng siete ey ene ‘oases It you have some extra time, oetcode.com beter than frecodoo, but much more dfur which matters, since ‘motivation is important oo). lrecommend frocode io frst Decause ts somenow adsitve 5» Reply» Share» ‘any Take - 900 ‘Thanks Alex this surely gona help mein propaaton for Google. ‘Some Blogs wre tho flowing to know frinstance Operating ‘Systm, Computational Geometry, Machine Learning, NLP. lam stl ot sure what kind of technical interviews Googe mld for ‘xparience paople because Ist can goon and on ANough wh found common in very biog is "Problem SoMa” A= Rap» Stare» ‘Thanks for posting this! have my fst phone interview next week. | don't feel super confident about it really, as my fend thet works ‘here gave me a mack ane, and sad! dd pass. However, ‘very pce of info you can fis onthe inte is very help! 5) = Rep» Shey Tm Rienardeon yer ago ‘Thanks Alex, finshed my GS degrees (BS and wo MS) a longtime ago. And Ne been managing developers fora decade. | can barely remember those algorithms, and | dori tink you oven use data structures Iwas taughtdoos anyone actualy bul a Inked Ist fom scratch hese days? Goagle called me last week andinvied re tointeriew fora management positon tomorrow. All can ‘thine abouts that movi “The interns” Wl, wel see how it goes, 5) + Reply» Share Hoy lox, Tm glad hat found your post bef intarviwing wih Google in ‘id July, you offer some eokd advice! Eventual | leo fle in ry fret wa atemnts an wrote a blog post abot fn once Fallect and give my point of view Hips eka iinalngy Aw» Repl» Stee hitpssialexbowe. comialing-at-googleintoviows! ms. sinsr019 Faling at Google Interviews - Alex Bowe On Alex, thanks for sharing ts great post. You mentioned Python Ss your proteres language buts thoy asked you for CC \What does tat mean should we need o prepare fr other languages apart fom Python for intariow then? 5+ Reply + Share ©) nem recently got rejection fom Google. Lama fresher tom Ida. ‘mage the lst round but secowed up thre because I couldnt propery understand the question, the ntrviewer asked me, | kept on asking cartyng questions but that adn hep and! got fejecton cal ater 2 weeks. Aor 2 days fom rejection, lreceved Aan offer rom Ee Systems, But m stil very depressed, ust headed one more intervie after that nal one. My ends got ‘one. And they might gol into Googe. was the only gil ram my college to have reached that far this year. And | missed a grat ‘oppertunty even ater doing well | just don’ knowhow o handle ‘hs. | am just notable ta move on. need help anal dont know at to, 5 = Rapp» Stars» © Lopes aa suzw2v0e1- 4 yar gp ‘Been ter. Ifltawfulater | go rected ry not think ‘bout now. 5) = Reply + Shao» ‘They Alex know your brother and mentoned this posto him nan caught recent course over pic fod. | recent ‘wont through the process. The phone intrview Iain parson umes ssan 5 yo a90 = Thanks dude! Glas you ed the pos, and especialy fr ‘montoning te auaiyof the links. Ianto post more ‘ten, ad knowing thal people tk the inks makes it ‘easier for me oust wing posts curating ideas and Inkeng them together (my more recent posts were ‘explaining my original researen... much harder to writ) Cheers! A) = Reply + Stare» Now tm working with ava barcode crater, Ike many peopl, | ‘also hope I can workin Google, bu | dont have enough ‘exporience, so google ntarviews is ficult fr me. But sll hank YoU ao, your experience eam more. Hope you eam come ‘hve, goed tick, 1» Reply» Share» Alex Bowe os ie Neo yeas 98 = Thanks for your comment. Ou of euiousy, have you ‘gone trough the process before? Nv» Reply» Sharey pradek hail yea 090 ‘Can opt Ruy language? A) + Rap» Stare» hitpsiialexbowe. comaling-at-googleintoviows! sinsr019 Faling at Google Interviews - Alex Bowe © Pee 00. 1s orn 5 na a = You can ase. really depends onthe intrviower though Even when | opted for Python (one ofthe oficial languages used there) didn't guarantee thatthe Intorvawer would know Some interviewers are happy for you lo explain the syntax as you go, but others might Inst you use CIC++ or Java ‘That's my experience anya. think he opin pat sso ‘hey can "ty" tfnd good intarvewers for you (out t ‘probably is tat high ran for tem, especialy you ont opt fora language they use offal Ifyou know another language that hey douse, 1a suggest ‘0 focus on tat instoad (you writ have to waste any cognitive power on switching lnguages unexpectedly = Rapp» Stars peadek kyl Alone 5 ya SS Thankyou 5 = Reply + Stare» (aby Lopes years Hey, | hinkits great hat yu dont give un. Ke been tree years since this post. Did you ally get in? 5 + Reply» Stare» © exo ses A Gaya: S ye Hoy, Thanks Gaby! No, haven". interview once gain (this time I afl aay of in-person interviews - super fun), but Ive really been focusing on my PRO since rote ts i probably apply again though (and many ‘other places. | might daa follow up post fits somathing people aro intrested in ‘nat about you? Ary plans to intarview there (or someunere else)? 51 = Rapp + Stara» © crepes nerbowe-syeoma99 = ‘had an intorviow via hangout oda totaly efod |tup and! don expecta near fom them aga But thats OK. | already havea job and | only applied because theyre google, not actly ooking fora ne job, Would have beon nce to work there, but no one has ded trom tei ction, thin. Best of ick wth your PRO! 51 = Reply « Shares Alex Bowe. os Gaby apes ‘Ahan. Hope you has fun al the same) Yeah. ican fel ko big deal before the Interview though) butfyou take a step ‘back and realise you are doing fre a5 you ‘210, then fs just a good eaming experience cette way. “Thanks! Bost ofluck o you oo! * 1A) v= Reply Shave wiser attic tan he ena nein scone Sabet vo Oe bho em ter Sictn teen mtg ttre seiteo cote ches ou a Wha yr exes ‘oh Googe est tener apenas hitpssialexbowe. comaling-at-googleintoviows! sinsr019 Faling at Google Interviews - Alex Bowe (© 2 Bo 1s A ato: ya 08 = Sorry or te tat rp! ques you have figured it out by ow, bl yes, hey wil contac you regards ofthe outcome, 5 + Reply» Share Qe oe “Thank you forthe acl ad taking te answering comments | inate atch sil being relovan even 3.5 yeas later. Great inks and suggestons too! "have had my phone iterew today for Test Engineer Mountain View a 50 min lng, Laneweras the question about testing google maps and thon thors was prot stal-orward coding task in Java: Given an array of intager,ploase wri a function to pinta pao insgor rom the array whose sum is closest to 2a came up withthe approach to solve this but struggled to get cof bugs (recently sa ecucted in programming). Then | was asked had any question. | id ask ew. | was very nervous ‘uring the interview and mentioned i fw tines to te interviewer. [forthe inerviow | fishos tho task and gent emai the recruiter thanking her and added my soliton othe eral that to show tat dont give up and get things done. read somowhere ‘hat proper communication wih the reruter may lp "Now wang forthe feedback v= Reply» Shee [Alex Bows us ny Thao 8 yea = Thanks for shaving your experience DT, and best of ick watt) Nv» Reply» Shaws C eedpetorane ‘Thanks Alex for sharing your interview experiences Actual | want goo google and wih your post have got ite clear idea about how o prepare fr google interviows. 5» Reply» Sasa [Alex Bowe os PN Tah yang => Gind tohearyou found the post useful et me know how things tan out 5» Reply + Shey eerie name tear a ec had oe "oon hrs ean oy Ses 1.60 not min wosthor they inform or not, but want to know hey to, 5) = Reply + Share» ‘They do, but you might have to wat upto 2 or 3 wooks. 5 = Reply + Stare» = Thank you Ax 5 = Reply» Share © Ne owe ws Area -8 yon 809 = No problem! Bost of ck Av + Reply» Share» © 88> neco2we 5 nea = Hi Nex. folowing up to heenpaw's ‘quoston Tv only has one round 50 fa ‘and have rot heard back, Wil thy inform hitpssialexbowe. comaling-at-googleintoviows! 13 sinsr019 ‘mei tm not making itt the nex round or should I consider no news as bas news? 5) Reply» Share» @ eben oe a8 symm ae HL) ‘They wil contact you ether way.Itean tke ‘afew weeks somatimes. thin its because ‘hay collate a bunch of candidates rsuts, ‘and then ciecuss ther alin a mesg ‘Thay have alt of people applying st any ‘ven time, and bet they dont nave a ‘moolingovory day. Jus sit ight for now ** 5) y+ Reply» Shae» (65-4 ae Bone Sense ‘Thanks ot Alex) A = Reply» Stare» “Thanks for commenting! Goos luck wih it) 5 = Reply + Share» © ad my fest phone interview with Google Software Engineering postion yesterday. think lagres win you onal the aspects you Iestoned. But what |would ks ade though quastons even ‘hough ae not very fut ts the bme and the gvan moment you have to think and come up wih code. Ii have not near bout anything from tem bul my quess is | wont got tothe next ‘stage as they aro pretty quik o respond o positive nes. 5 = Reply» Shacey OS omtrg yr cr, oh on inawtn nat nee tobe one Sone mich ei toe wos tor trate i cenit tpt oat ‘Set roan he trang mayors RECENT POSTS ARCHIVES DY Function Pintersin © September 2013 Suecne de Brun Graphs July 2003 Faling 2 Google Interviews September 2011 Futindexes and Backwards Search ‘apust 2011 Wiaveler Trees ~an ntrosucton June2011 RAR A Suecne RankSelet Index for Vectors May 2011 Generating Binary Permutations mPopeount Order ——_-Apil2011 Some Lary Fun wih Screams aren2011, Design Pater FlashCards February 2011 Metaprogramming Erlang the Easy Way Nowernber 2010 ‘August 20 June 2010 ay2010 Maren 2010 February 2010 hitpssialexbowe. comaling-at-googleintoviows! Faling at Google Interviews - Alex Bowe Tacs soe AIQOrItHM sscras binary savas scrote on cee COMPIESSION sna data StrUCtUTE desir cen paners education «emn=functior PFOgraMMING angers rewire eraase IEACNING mesccgeroire renstin ot PYTHON aise FEACING ceexe opr se sere satay sr as 123 sinsr019 hitpssialexbowe. comaling-at-googleintoviows! Faling at Google Interviews - Alex Bowe 1383

You might also like