Ask HN: I have an interview with Google in a week. What should I prepare?
I have an interview scheduled with Google in a week's time. It's for a Developer position. I have 7 years of experience mostly with Java, Scala and Ruby. I am shitting bricks as I am a Google fanboy and this opportunity is my Atlantis.
How should I prepare in a week and go about it?
Feel free to ask any questions you may have.
Throw Away account because I am not taking any chances.
29 comments
[ 4.5 ms ] story [ 68.7 ms ] threadYou're doing the equivalent of going in cold for the SAT if you're just now asking for this advice...
In the meantime, fire up Leetcode and do as many Medium difficulty questions as you can until your eyes bleed. And I mean really learn them - don't just do them through rote memorization - cramming won't work. You have to learn to recognize the different problem solving techniques/patterns quickly and apply them through code.
When your eyes start bleeding, take a break from Leetcoding and think about your previous work and try to crystallize a narrative around career. You're going to be asked about your previous work, challenges you've faced, approaches you've taken to common problems, etc etc. Be able to answer those really well. If you have something on your resume, be able to explain it really well. I don't have any specific advice around this since each person's career is unique. When your eyes have stopped bleeding - promptly get back to Leetcode.
When you're one or two days away from the interview - and this is really really important - make sure you don't do any practice or review of any kind. Eat well, exercise, get an amazing night of sleep, and gather a sense of perspective about why you're doing any of this at all. On the day of the interview, wake up early, be prepared, and be cool as a cucumber regardless of what happens. You've done all you could - you're in God's hands now.
If you get rejected, don't sweat it. Many current Googlers have endured 2-4 rejections from Google before making it in. It's not that uncommon. You just go back to the drawing board, figure out where you could have prepped better, and move forward in your career whether you end up at Google or not - because that is what winners do.
Oh and this post is only kind of tongue in cheek. I really am mostly serious about this advice if you're serious about passing the bar at a company like Google or any of the top, high paying tech companies.
You have to think that for each person hired probably 100 others spent months of their life preparing for the interview. What a massive waste of human effort.
Everybody and their mother wants to work at companies like Google, Facebook, Netflix, or similar. So while the preparation and interview processes can be brutal, they filter out all the people who aren't 100% serious or committed. There are many talented people that get rejected from Google routinely and that's fine - Google can't employ them all. They will be fine.
I don't see people gawking at MIT's admission standards. MIT turns down ridiculously talented and accomplished students all the time.
That being said, with enough grit, preparation, and patience, getting a job at Google isn't that crazy assuming you're good at what you do and you're willing to put in the time. It's probably far far more of a crapshoot to get into MIT.
Again, I'm not saying I agree with the way things are but I'm trying to help put them in context for you. Not every job pays $250-450k and not every job is Google.
Look at my other reply. This is incredibly common at the top companies in the Bay Area or any other major city (Seattle, NYC, etc).
Even if the office is in a low cost of living city, the effect is similar with Google paying at the high end of the cost-adjusted band.
The point was more to illustrate that it's not just any average job and they can do things that work for them that don't work for a lot of other businesses.
Yes people make this much money. Yes they make it a couple years out of school. No I'm not lying or making this up. Yes this only represents a tiny tiny portion of engineers globally that have the privilege of working somewhere like Google and in a place like the Bay Area.
I swear, this conversation happens every single time on HN when people bring up comp numbers.
I know the salary ranges at nearly all major valley companies, have friends that work at all of these companies, and have gotten offers myself.
> I know the salary ranges at nearly all major valley companies
Can you comment on Netflix? They say that they significantly outbid Google or FB... So e.g. 500-600K is the norm there?
Netflix does outbid Google and Facebook routinely in one key component: base cash salary. I think you can request a portion of this in stock but the default is cash.
So you’d get $350k handed to you straight cash versus the traditional approach of base + stock + other variable components like bonuses, performance based comp and refresher stock. The 500-600k numbers you’re suggesting are not realistic for an average mid level engineer though.
But in general, Netflix’s comp philosophy is a complete outlier in the Silicon Valley ecosystem. Might be more common in hedge fund or quant roles but I don’t know much about that world.
Well, MIT or any other university has a limited number of free seats which is not true for Google I believe - I don't think they have a problem with the desk space for engineers, also considering their open space hell, or at least the desk space (limit) is not the reason of not hiring someone, I hope :)
Hiring is super hard, and anyone who tells you they have a surefire, simply-articulable description of what interview characteristics guarantee a good employee is lying to you. So given that unrealistically high bar, sure, there's no guarantee that this "works".
But it definitely extends beyond "corporate hazing". I've done hiring both within Google (interview + HCs) and outside of Google, and while I had to drastically (_drastically_) lower my standards for some of the post-Google hiring (due to crappy candidate pools, usually), the general principle remained the same: these kind of questions provide me valuable info about the intelligence of the hire and this has been _incredibly_ predictive of their productivity in the medium- and long-term. Note that I'm not talking about by-rote memorization of drop-in solutions: when I get the sense that the candidate knows the solution by heart, I mentally "drop the data point". Though I usually have fairly complex, multi-part algorithms/whiteboard coding questions and seeing how people react to mistakes being pointed out, changes in the structure, etc has been very useful.
I've told this story before on HN, but there was a company I was employee #1 at where our next two hires were 1) a guy with no engineering experience (he know how to program) but who I could tell was smart and good at creative problem-solving, and 2) a guy with 10 years of engineering experience, good references, and an interview that gave me the impression that he was dumb as a brick.
We hired #1 with my recommendation and #2 against my strong negative recommendation. #1 needed a month or two of onboarding guidance by me to learn most of the basic conscientious habits of being a good engineer; he ended up by far our best employee (excluding me, the senior engineer). With a tiny fraction of the engineering experience of the other two, he was (after me), the go-to guy to understand any part of the system or investigate any breakage. By contrast, my founder bounced #2 around from task to task, trying to find somewhere he could be productive without horribly breaking things (legends say he's still searching...). I literally can't think of a single task that he handled even competently, let alone impressively.
I had a similar experience at Google with a math PhD reportee who struggled really hard upon joining Google, but after a couple months of my mentorship, was IMO one of the better engineers on the team (it was a research/engineering team, so creative problem-solving counted for even more).
It's simply not that difficult to learn the habits and discipline required for good engineering: ability to manipulate logical structures easily, think critically, and problem-solve creatively is IMO infinitely more valuable and infinitely harder to create out of thing air. As much as people gnash their teeth about how algorithms interview questions don't resemble day-to-day work, I've found them to provide a LOT of predictive power for eventual productivity and quality of employee.
Good luck!
The recruiter asked to review basics of Algos, DS, Space and Time complexity and System design concepts.
* Steve Yegge's advice (often cited when people ask how to prepare for Google interviews): https://steve-yegge.blogspot.com/2008/03/get-that-job-at-goo...
* Buy "Cracking the Coding Interview" and go through as many problems in it. It also gives a good rundown of Algos, DS, Space & Time complexity.
* If you've never done a Google (or other big company) interview before, you could also consider looking on YouTube to see some example interviews (e.g. how people approach a problem, how they talk it out with the interviewer, etc.)
If you don't end up nailing the interview, it's really ok. You can try again in a year. :) There are people who've done 2 or 3 tries at interviews before they get in.
Bought Cracking the Coding interview already. Read the blog as well. Now watching YouTube videos.
Is the cool off period 1 year at Google? Seems long.
This Quora answer has a lot of resources.
https://www.quora.com/What-is-the-best-way-to-learn-algorith...
Always worked better for me compared to times when I spent the last days furiously trying to learn all the stuff.
There are very few things you can learn thorougly at the last moment and it’s not worth it usually.
One thing I know from experience is that overconfidence is a big no no. For example, if you claim that you are an amazing Python developers, then they will probe you with questions not even Guido van Rossum could answer. It's better to only claim that you are fairly good because then they will ask you easier questions.