7 ms·
My Google Interview and Lessons Learned
- dudul 10y ago"In each one, I was given a technical problem and asked to whiteboard my solution." Can't believe Google is still doing this crap. 5 whiteboarding exercises, seriously? How dumb is that. One OK, two why not. But maybe part of the interview could be spend talking about, you know, architecture, past experience, workflow, etc.
- griffinmichl 10y agoA company like google has the resources to basically just make their interview an IQ test with the assumption that they can throw smart people into any role they need them in.
- jcadam 10y agoI'd rather they just sit me down in a quiet room and have me take a formal IQ test (Wonderlic, etc.). Seems like it would be a more efficient use of time for all concerned. Seriously, we could get this done in three steps: 1. Phone screen including Fizzbuzz-level programming challenge. 2. IQ Test 3. Personality/Culture-fit interview.
- erubin 10y agoI believe it is not legal to use actual IQ tests in the U.S.
- gergles 10y agoIt's legal, just difficult to defend, because there are racial differences in IQ. So, there is a presumption by the EEOC that you are discriminating based on race if you give an IQ test. You can get around this by conducting a study that finds IQ is better correlated to performance on a particular role than any other nondiscriminatory measure, but good luck with that, and good luck proving that when you get sued by someone. It's just too risky, despite not being illegal.
- theseatoms 10y agoI've heard the Wonderlic test is often used instead, possibly for this reason.
- CobrastanJorji 10y agoPretty sure that's not the case. When I worked for IBM back in the day, their interview did in fact involve an actual IQ test administered online as a first screening step.
- dragonwriter 10y agoIt's absolutely legal. Like any other screening tool that has significantly differential impact by race, it's only legal when it is sufficiently demonstrably related to performance in the specific jobs for which it is used as a screening tool. There is a popular myth that it is illegal because of a case where it was found to be illegal in the specific manner in which it was used. https://en.m.wikipedia.org/wiki/Griggs_v._Duke_Power_Co.# https://en.m.wikipedia.org/wiki/Griggs_v._Duke_Power_Co.#
- arebop 10y agoI've been given an actual IQ test during an interview process in the U.S.
- Godel_unicode 10y agoAs with all things employment law, it's more complicated than that. Briefly, the test must be "professionally developed" and relevant. Thus the whiteboard programming exam is an admissable proxy for an IQ test. https://www.hiresuccess.com/blog/is-employment-testing-legal https://www.hiresuccess.com/blog/is-employment-testing-legal
- drdaeman 10y agoDepends on how the whiteboard is meant to be used. It must be perfectly fine if it's meant to draw figures and overall ideas about the solution. That's what whiteboards are for. Sometimes a picture's worth a thousand words, and drawing diagrams or illustrations is frequently indispensable for actually solving a complex problem (as opposed to having a picture in the head, or described in writing). But I'd say it's borderline offensive to ask a person to write any realistic code (i.e. not very-high-level pseudocode that's more of a human-readable notes than something for a machine) on a whiteboard. Never been to Google, so no idea what they ask for.
- mashlol 10y agoThey ask you for code. Real, runnable code. The interviewer types it verbatim from what you wrote on the board... I don't think they necessarily care if it compiles, or if you forgot whether it was Set.has() or Set.contains(), but for some reason they do not allow pseudocode.
- riyadparvez 10y agoI concur with you. I do not have any allergy towards whiteboard questions. Couple of whiteboards is reasonable, but five of them seems totally unnecessary.
- overcast 10y agoGoogle, and the other big players, will continue doing this, as long as people keep lining up to their doors in droves. When you literally have the pick of the litter, you can do whatever you want.
- 27182818284 10y agoFor what it is worth--at this point I don't think Google has the pick of the litter. I know brilliant people that aren't even considering Google compared to SpaceX, Uber, etc.
- overcast 10y agoAs far as we're all concerned, Google still has the pick of the litter. They are certainly an end goal for a lot of talented people.
- crimsonalucard 10y agoI've talked to a research scientist at facebook who commented on this exact issue. They've debated this, the issue is that architecture, past experience, workflow are all things that can be taught to anyone. Google and similar companies aren't in the business of hiring anyone who can just learn anything. Given enough time anyone can develop skills to be a programmer. However, google is in the business of hiring people who are intellectually superior. People who can do things that can't necessarily be taught. You complain about 5 whiteboard problems because most likely you won't be able to solve 5 whiteboard problems. This does not mean you're a bad programmer. However, the guy who can solve those problems without an issue has a higher probability of having higher intelligence and better programming skills than you.
- palakchokshi 10y agoBut the whiteboarding questions and their successful completion by the author clearly shows Google is hiring for skills that the author was able to learn in 1 month. Architecture, workflow, use of proper design patterns, etc. are things you learn from past experience.
- crimsonalucard 10y agoHe failed those indicating he needs more time to learn if he can learn it at all.
- khedoros 10y agoThere's "successful completion", and then there's what Google is looking for. They want optimal code, and they want you to explain your thought process as you're writing. They want you to hit all the subtle corner cases without being prompted (and for you to verbally note why you coded it that way). You solved the problem if you give them the O(n^2) answer, but they're looking for the more complicated O(n) answer, because then they'll get to present you with the 2nd and 3rd variations on the question, rather than spending time refining the first.
- sbov 10y agoI disagree, the type of whiteboard questions you get can completely get taught, and practicing helps. Intellect certainly helps, but it helps in every activity. If I wanted to put a negative spin on it: Google is filtering for people with lots of free time on their hands and spend that free time on intellectual pursuits. This makes them more likely to spend their free time staying at work rather than going home and doing something else.
- ikeyany 10y agoI don't see the issue. Coding on a whiteboard is more about demonstrating your problem solving ability, not your raw knowledge of programming. If they ask you to implement something like a maze solver, having the exact answer seems less important than communicating the steps needed to create such a solver (e.g. making sure you truly understand the question, taking note of possible bottlenecks or corner cases, having an 'obvious' solution and proving why it's slow/wasteful, etc.). That being said, everyone knows you need to have a solid understanding of data structures and algorithms to be seriously considered, but I don't think Google is necessarily looking for software prodigies.
- kafkaesq 10y agoCoding on a whiteboard is more about demonstrating your problem solving ability, Whilst explaining verbally to others your every single step of your thought processes while you are doing fine-grained analysis the problem (something which one almost never has to do in real engineering environments), and under incredibly unrealistic time pressure ("these people will either love me or hate me, depending on what I say in the next 5 seconds.") And typically to solve "problems" that bear little or no resemblance to the kind of problems that you'd actually be tasked with solving on a day-to-day basis at most of these roles. But which instead seem to solve other, ulterior purposes -- in particular, to shore up the interviewer's own insecurities: "Gosh, I wish I knew how to find good people for this job. And heaven forbid if the candidate should ask me to explain our business model... But if we ask a bunch of Google-style questions at the whiteboard... I guess that means we must be in same league as Google."
- pm90 10y agoSeeing as how it has worked so far for them, I would put in a little more effort to justify why their current process needs to change.
- kafkaesq 10y agoI'm not saying that the Google process doesn't work. My point is that it "works", but for ulterior purposes. In Google's case, for example -- to establish their "brand."
- munificent 10y ago> But maybe part of the interview could be spend talking about, you know, architecture, past experience, workflow, etc. Google does to do that for many candidates, but if you're a recent school grad, you probably don't have as much past experience to talk about, so the interviewer will instead tend to focus on coding questions. Basically, the longer your work history is, the more questions you'll get about what you have done versus demonstrating what you can do.
- linkregister 10y agoI've interviewed at Google 3 times. I have never been asked about my experience. In fact, citing relevant experience during the question has resulted in a negative reaction from interviewers. I think the Google interviewing ethos is to hire generalist engineers, and necessary specialization will follow. There are exceptions, of course: Google Zero, Google X, but I maintain for SWE and SRE, it's all about the whiteboarding.
- honkhonkpants 10y agoNobody cares about your experience or preconceptions about architecture because your experience will be pretty much irrelevant at Google which uses almost no third-party code and has a homegrown solution to everything, and because Google's software architecture is radically different from any other company's and you have to adapt to it, not the other way around.
- crimsonalucard 10y agoSeriously one month of studying algorithms and he's prepared? I had the impression google interviews were a lot harder than this.
- buckbova 10y agoWell, he wasn't offered the job. So, we'll never know how prepared. Practice does help for these whiteboarding style questions. I completed a bunch of https://www.hackerrank.com/ https://www.hackerrank.com/ problems prior to my last set of technical interviews and it definitely helped keep me sharp. My day to day CRUD work is rarely helpful in that regard.
- crimsonalucard 10y agoI know, but I would argue you need a year of this stuff and really deep intuition. One month of hackerrank isn't enough. The problems google throws at you are not trivial.
- agumonkey 10y agoDon't you feel strange knowing you may be asked number theory question when you might end up writing casual CRUD ? ps: hackerrank is neat.
- crimsonalucard 10y agoIt's strange but why hire a rocket technician when you can get a rocket scientist with the same skills (+more) for the same price?
- agumonkey 10y agoBecause a boredom frustration depressed scientist may not be the best thing in life ?
- linkregister 10y agoIt looked like he was putting in 4+ hours per day. He implemented all of these algorithms in code. I think it's pretty amazing. It took me about the same amount of time to implement a B+ tree variant for my Data Structures class in college. Pretty impressive on his part. Either that or I'm unimpressive ;)
- SloopJon 10y agoHe didn't get the decision he wanted, but he got it in a week and a half, which is a lot better than I've come to expect.
- kafkaesq 10y agoI have one, and only one, expectation from companies after an interview: Please respond by the time you say you will, more or less. It is amazing how many companies seem to be "unable" to come through on this very modest expectation.
- SoulMan 10y agoRight. I think its the problem with some (probably majority) of recruiters attitude. They will be after you for resumes and referrals but once you apply and don't get through or resume is not impressive the do not bother to inform you , even don't respond to your curious email. Even for internal referrals I have chased them for months just to get to know that resume was not "fitting"
- kafkaesq 10y agoYeah - getting ghosted sucks in any context. But when they ghost you even after an internal referral? From someone you worked with previously? That's when you really have to wonder what is going through these people's heads.
- SoulMan 10y agoThe problem with internal referral is that your friend keeps texting you every day what happened to the resume he had sent and your company recruiter does not respond to the your emails/IMs.
- kafkaesq 10y agoThe recruiters are just doing what's expected of them. The real problems is that most companies just don't seem to care about candidate experience, period.
- brian-armstrong 10y agoI've noticed a trend where Javascript people are unwilling to learn other languages, confining themselves to being in one small little niche forever. Hasn't it always been said that good programmers will make an effort to become familiar with multiple languages?
- agumonkey 10y agoLanguages I don't know, but paradigm and domains is godsend for your brain after you're over the mental uphill. After going into FP and now reading about Prolog a lot, a huge lot of ideas are blending in few concepts, recursive space exploration, trimming, continuations, graph theory ... I wonder if it's what is expected from college graduation (we saw all these topics there after all) or if I'm late to the game but it's quite a joy nonetheless.
- deleted 10y ago[deleted]
- pm90 10y agoIn his case I think the decision was correct. Once you have at least a year of experience in one language as a fresh programmer, you understand the quirks, paradigms, design patterns etc. You have a mental model of what a programming language looks like so you can evaluate other languages from that standpoint. Once that experience is there, then yes, I agree that its usually not difficult to learn a new language.
- apocalyptic0n3 10y agoThat may be true, but I languages can be taught and learned on the job, and frequently are. When giving an interview, you're generally more concerned with processes, how the person thinks and solves problems, how they learn on the fly, etc. In each interview we give, we generally set them up for JS and PHP (we are a PHP shop), depending on the question but also give them the option of switching to a language they are more comfortable with. We can teach you PHP relatively easy; I came in with no PHP experience and was able to start building in Silex in under a month. What we care about is understanding basic architecture, database interaction, OOP principles, some design patterns, etc. So I think his choice to stick with what he knows and focus on learning algorithms was a good one. He could learn Java or Go or Ruby prior to the interview and then find out that he was placed on a project developing in Python, assuming he took the job. Languages are generally easy to learn and teach; best practices, algorithms, design patterns, etc. are what's hard.
- SoulMan 10y agoI am not sure how Google/Amazon/Facebook judge a programmer by asking to write "production ready" code on few sheet of paper where one can not rearrange blocks, edit. How many does it in real world ? Unless its 1977 and you are doing FORTRAN in punch cards.
- honkhonkpants 10y agoMuch of the interview process is used to determine if the candidate can program a computer at all. It's pretty obvious in the opening minutes if I ask you to write out a simple function in your chosen strong language (such as strlen, if you said C) whether you can or cannot do this. If you can stand there and write out something like: size_t strlen(const char* str) { [return something] } Then at least I know that you've ever programmed in this language before, which sets you apart, strangely enough, from 95% of the applicants. I won't even care if you write the return type as int instead of size_t, as long as you're obviously aware that every function declaration must have a return type (or whatever the requirements of your language might be). From there we can start talking about graph traversal or whatever, to determine what you know about complexity analysis. It's really not about "production-ready code" but fluency. When you speak your native language you don't constantly bumble and make errors and leave out important words. It should be the same when you write code in your favorite programming language, and whether you can or cannot do so becomes readily apparent in technical interviews.
- bogomipz 10y agoIs it true that they don't care what language you know, and that it doesn't have to be one of either - Java, C or C++? I have heard that what they are looking for is your problem solving skills and your ability understand the problem space and the tradeoffs. But then I've also heard that if you are not proficient in a statically typed language that will hurt your candidacy. I am not sure if this true. I would that is someone has good CS skills and good problem solving ability that they could pick up any language statically typed or not. Curious what someone more in the know regarding Google/FB/AWS has to say on the matter.
- curiouscat321 10y agoI've noticed that some people seem to way overprepare for Google interviews in particular. I get that they're hard, but how much practice do you really need for, say, a phone screen?
- linkregister 10y agoGiven that the acceptance rate for on-site interviews is under 20%, I'd say the vast majority of us who have interviewed actually underprepared.
- johnward 10y agoI wonder how many people realize, halfway through the phone screening, that they don't care enough about Google to jump through those hoops.
- pklausler 10y agoYou know, if I knew nothing about the law, but assumed that I could skim a couple books and pass the bar exam, I'd have to be some kind of combination of arrogant, disrespectful, and crazy.
- bradleyjg 10y agoThat's not a great example. There's a six week bar exam course that most law graduates take because law school doesn't do anything to prepare students for the bar exam. Take any reasonably intelligent person with strong written English skills, have him take one of these six week courses including doing all the homework, and he'd likely be able to pass the bar. Practicing law is a different story. Although a significant percentage of law school has very little relevance to the day to day practice of law it would be an exaggeration to claim that law school doesn't do anything to prepare you for practice as I claimed for the bar exam.
- pram 10y agolol never heard of Barbri huh
- deleted 10y ago[deleted]
- tgoldenberg 10y agoExcept I never approached Google. They approached me. They sent me an email with a header that said "You are app-solutely fabulous." (I know, so dorky it's suspicious) Do you think it's arrogant, disrespectful or crazy for me to take on the challenge head on? I learned a great deal from the process and I'm certainly not forbidden from interviewing again in the future. But this is just my approach to things.
- danilocesar 10y ago"After the usual explanation that it was a “close call”, I asked what I could have done better and was told that I needed to be more consistent." Probably he just gave another "usual explanation" from his handbook. That's the problem when you have a recruiter as a proxy between you and your interviewer, specially when you get the negative answer. When they get the "No" answer, you are not profitable anymore. You are now a liability. A time-consuming problem they have to deal with. With that couldn't-be-more-generic-feedback, it seems to be your case. Would be better to reach your interviewers directly and get feedback from them.
- achamayou 10y agoWhich HR is most unlikely to allow, because of the PR and legal risk involved. They're much happier with a recruiter giving a liability-free, if vague answer.
- khedoros 10y agoGoogle gave me the answer "Unfortunately, we can't provide you any feedback from the interviewers." A couple weeks later, they sent me a questionnaire for me to provide them feedback. I suppose that if I'd made notes of each interviewer's name, I could've taken a guess at their Google e-mail addresses and tried to contact them directly, but that's definitely not something they would've made easy for me.
- gniv 10y agoOr you could ask for their email. I give my google email to the candidates I interview, if they ask.
- tgoldenberg 10y agoI asked for the email addresses of my interviewers to thank them personally but was told they weren't allowed to give them out.
- leothekim 10y agoI've seen Google interview questions before, and I don't find them unreasonable except for the fact you're forced to write things out on a whiteboard. The bigger problem I have is the 5 on-site interviews. Coming up with a solution that is 100% correct and optimal and well-coded for all 5 interviews would be physically and mentally exhausting for me. I have two young children, so sleep deprivation is my constant reality. Not to say no one else in my position can do this, but I certainly can't.
- sulam 10y agoI interviewed a coding bootcamp person in SF and found them to be quite competent and able to handle stuff at a level I've seen from engineers with 3-5 years of experience in the field, along with their CS degree. Other interviewers also had a positive experience with this person and we made an offer, but in the end they decided to take a competing offer...from Google.