Hacker News new | comments | show | ask | jobs | submit login
Ask HN: I have an interview with Google in a week. What should I prepare?
23 points by tempThrowAwayG 67 days ago | hide | past | web | favorite | 29 comments
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.

Sorry to say that if you haven't been prepping with various Algorithms, Data Structures, and Systems Design questions every single day for weeks, maybe months ahead of time - you're probably screwed unless you get lucky.

You're doing the equivalent of going in cold for the SAT if you're just now asking for this advice...

Pretty sad what you have to do to have a chance at getting a job these days. Is there any proof that this gets better employees? I haven't seen a shred of real scientific evidence. Is it anything more than corporate hazing?

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.

This isn't just any job. This is a $250-450k per year job for an engineer working on multi-billion-user scale systems/products at one of the most successful companies in the world.

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.

> I don't see people gawking at MIT's admission standards. MIT turns down ridiculously talented and accomplished students all the time.

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 :)

Fair point. There's nothing that indicates that they're having any trouble filling seats though. Maybe they could hire faster but I don't think hiring is the bottleneck for their business. They probably would rather go slowly and carefully at their size anyway. I also don't really see any reason why they're not in a great hiring position as an employer already - especially compared to their industry peers.

Every Google engineer makes a minimum of $250k? Glassdoor doesn’t suggest this. Do you know this to be true?

Yes, if you're in the Bay Area and work for Google as a mid level engineer your total compensation is at least $250k a year. Closer to 200k a year for new grads fresh out of School who have 0 experience.

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).

He hasn’t said what city or even country this is in. We can’t just assume it’s a $250k + salary give the job could be in the UK, Germany, Canada and knows where else where salaries are lower in general for software engineers.

You're absolutely right. However a lot of the engineering is concentrated in a few major centers so there's a good chance he's near a major city like LA/SF/NYC/Seattle/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.

Where did you get such numbers? H1B data and Glassdoors show significantly less.

Those numbers are wrong and outdated. Every mid level engineer at Google is pulling near 250k at least in total compensation and up to $450k depending on experience and expertise. By total compensation I mean Base + Stock + Yearly Bonus + Signing Bonus. And that's not even factoring in the stock growth. Keep in mind the stock is as good as cash since it's very liquid.

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.

H1B data is official and updated - including this year. But for Bay Area, yes, 250K sounds realistic. I can't imagine someone wanted to move there for less.

> 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?

I’m not sure about H1B status or how that impacts comp.

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.

> Is there any proof that this gets better employees? I haven't seen a shred of real scientific evidence. Is it anything more than corporate hazing?

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.

That's an interesting set of experiences to draw from. Thanks for sharing!

Interviewed at Google, this is spot on. You need to know arrays, trees, graphs, stacks, queues, at least two sorts (I suggest mergesort and quicksort), dynamic programming, greedy optimization, and big O cold at an absolute minimum. I'm sure I'm missing some stuff. They tell you all this in the "secret" onsite prep website.

Ok. That hurt but thanks for the honest response. Would it make sense to post pone the interview?

If you can postpone the interview, that would help for sure. Maybe kick it out another week or two (not sure if the recruiter will let you).

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.

FYI they will no longer consider you after three rejections now.

Also, let's say I had a month to prepare. What all material should I be going through?

Make a leetcode account and do nothing else until your interview.

Just relax and sleep well.

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.

Is it a phone or on-site interview? If it is a phone interview, then keep in mind that they call up thousands of people every year and only a small percent of all candidates pass through.

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.

You would probably need more than a week if you need to revise Data Structures & Algorithms, practice problems on the whiteboard and learn about system design basics.

This Quora answer has a lot of resources.


Did the recruiter give you a list of materials to review? You need to practice whiteboard coding in a timed setting as well. Leetcode is a good place to practice online, but a whiteboard is even better. If you need interview practice, you can also try mock interviews (they tend to cost money).

Good luck!

Thanks c0110.

The recruiter asked to review basics of Algos, DS, Space and Time complexity and System design concepts.

The Quora link another poster submitted is a good starting place.

* 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.

Great thanks.

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.

Most of the time for big companies it's 1 year.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact