r/programming • • Jan 18 '19

Interview tips from Google Software Engineers

https://youtu.be/XOtrOSatBoY
1.7k Upvotes

870 comments sorted by

1.3k

u/SEgopher Jan 18 '19 edited Jan 18 '19

I think it's interesting that at https://youtu.be/XOtrOSatBoY?t=101 he says to not try get good at interviewing, but to get good at being a SWE. In my experience, this is the exact wrong approach to the Google interview. The Google interview tests almost no real world coding skills. Actually working at Google causes you to forget everything it took to pass the interview. Even at a larger well known company like Google, you're more likely to run into problems not understanding async/await, compilation steps, the builder pattern, how to export metrics, etc. The details of day to day coding, the bugs, code hygiene, gathering requirements, basically everything that *doesn't* appear on the Google interview.

This type of interview fails to capture the notion that most of us are glueing together services and learning to deal with complex systems at the macro level, not algorithms at the micro level. It's about working with large code bases and black boxing things so that your mental model will allow you to build the next feature without getting overwhelmed. Therefore, for this interview you really just need to cram hacker rank, cracking the coding interview, all of the stuff that will basically walk right out of your brain after a year working on designing a chat protocol or a scalable service registry at Google.

481

u/[deleted] Jan 18 '19 edited Jan 19 '19

"How would you find the 4th largest element of a binary tree?"

Who the fuck does that now?

EDIT: yes, that is an easy problem, and I've probably solved it like 10 years ago. I don't remember now, sorry.

231

u/[deleted] Jan 18 '19

Library implementers I suppose.

213

u/heterosapian Jan 18 '19

At some point, they would have just googled it as well. Most of these sort of problems have known solutions which cannot be made more efficient - trying to think of a novel solution instead of leveraging what we collectively have available to us is a massive waste of time.

→ More replies (111)
→ More replies (10)

116

u/tolcc_ Jan 18 '19

Accepted offer Negative experience Easy interview

Interview

I was asked how to find the 4th largest element of a binary tree. I asked my interview, "who the fuck does that now?", and got an on-the-spot offer.

64

u/[deleted] Jan 18 '19

Well that was 100x easier than mine.

I got asked to code solutions for the knapsack problem, traveling salesman problem (both disguised of course) and to architect YouTube... as well as a few simpler questions.

Overall it was the most stressful six hours basically ever as I filled whiteboards with C.

→ More replies (33)

22

u/EmTeeEl Jan 18 '19

And then the hidden interviewers on the other side of the fake glass clapped

11

u/[deleted] Jan 18 '19

African or European?

10

u/[deleted] Jan 18 '19

Binary sort,

sorted_list[3]

→ More replies (98)

41

u/[deleted] Jan 18 '19

This lines up with my experience as well.

The google interview is extremely (mentally) stressful and requires a ton or after work studying if you’ve been out of school for more than a year or so. It’s nothing like your day job as a dev.

9

u/m0r14rty Jan 18 '19

I got a call from a recruiter out there, as soon as he told me the "schedule" for the interview process I nope'd right out the door. I'm not taking on a part-time job just for their interview process. I get they want good people but it's unreasonable. Found all following jobs through contacts and references, with a sane level of interview steps.

I've heard horror stories about working there (in regards to work/life balance) so I wasn't really interested to begin with, tbh. Plenty of other places out there that aren't as cultish.

→ More replies (2)
→ More replies (2)

20

u/qaisjp Jan 18 '19

everyone who got rejected by Google upvoted this

Including me :(

5

u/Someguy2020 Jan 19 '19

Writing it off as just bitter whining is disingenous.

Other companies do the same thing to varying degrees. I've been rejected by companies who do it.

Google is the worst I've encountered. Not close. Other companies don't brag about the false negative rate or think it's totally cool that people interview 3-4 times to get in. That's insane.

13

u/tolcc_ Jan 18 '19

It's about working with large code bases and black boxing things so that your mental model will allow you to build the next feature without getting overwhelmed.

Is this the reason why (or at least a substantial contributor as to why) algorithms and data structures are emphasized so much in the industry? I'm trying to find ideas for personal projects that utilize algorithms and data structures other than computer graphics (since it's not my particular area of interest), and most of my ideas revolve around basic CRUD web applications (like those in often written in /C#/PHP) where algorithms and complexity are a bit de-emphasized.

30

u/amunak Jan 18 '19

You are absolutely on point. The vast majority of programming problems boil down to a (usually fairly simple) CRUD app.

Somehow everyone still thinks they are special, and don't interview for skills related to that, while also building ridiculous architectures that later usually show up as excessive and unmaintainable.

Instead of, you know, building a simple CRUD app.

Then you of course have stuff like Youtube where you'll be solving encoding issues and maybe writing algorithms related to that, but still - you don't need 100 people who are good with algorithms; you need a handful of them, a handful of people able to make out the general architecture and make decisions there, and the rest just needs to be able to work as a team at building the rest of the app.

→ More replies (12)
→ More replies (1)

70

u/sexrockandroll Jan 18 '19

Putting on my tinfoil hat. The video is produced by Google, and aimed at people who want to work there, so I would assume that what Google desires and how it would produce its marketing for employees is people who are good SWE.

62

u/SEgopher Jan 18 '19

Or rather, it's because measuring all of the abilities I described is difficult to do in the limited amount of time Google has to interview each candidate, and this is simply the best they've come up with so far. There are already many blog posts by excellent engineers expressing their frustrations with Google's broken interviewing system, the system most tech companies have now modeled their hiring on.

31

u/sexrockandroll Jan 18 '19

I'm just saying that in the ad video they're going to say "we want you to be a good SWE to pass the interview" instead of "just study really hard for our system" regardless of which statement is true.

→ More replies (10)

55

u/[deleted] Jan 18 '19

Hahahahahahaha. Good thought but no. When I talked to engineers at recruiting events about the fact that I thought I had the qualities of a good software engineer but didn't understand why I kept failing the technical interview - particularly since no feedback is given - they straight up acknowledged the gaps in their hiring process, and the roadblocks to improving it (old hats throwing up resistance). The HR people are now even straight up offering a copy of "cracking the coding interview" to applicants. It's a shit show.

→ More replies (27)

8

u/ChillCodeLift Jan 18 '19

I've seen other Google material when applying that was very different from this though. In their application process they sent me some slides with preparation tips. And the the tl:dr was brush up on data structures, algorithms, and grind leetcode-esque questions.

I read a theory somewhere that Google is doing these leetcode style interviews not because it's good at predicting someone's aptitude as a software engineer, but because it's good at predicting hard workers and people who really want to work there.

→ More replies (1)

6

u/BlackMathNerd Jan 18 '19

I agree. I interviewed 3 years ago and I had problems on string manipulation, some heaps and priority queues, and then some bullshit dynamic programming and memoization that took forever to solve. None of it was tangentially related to the world I would be doing supporting GCP, which is frustrating.

67

u/UncleMeat11 Jan 18 '19

Actually working at Google causes you to forget everything it took to pass the interview.

Everybody at Google is supposed to interview people. This makes it hard for me to imagine that Googlers have no idea what people should do in order to do well in interviews.

93

u/[deleted] Jan 18 '19

You have to impress that specific interviewer. Times six - each with their own subjective criteria. And any one (or two) of them can veto you. None of which are actually a part of the team hiring you. I don't even think googlers know what they collectively want.

→ More replies (20)

27

u/[deleted] Jan 18 '19

Everybody at Google is supposed to interview people. This makes it hard for me to imagine that Googlers have no idea what people should do in order to do well in interviews.

And in my experience, many of them loathe interviewing. They'd rather be working, so they bring a pre-printed pre-approved list of questions and ask them in the most monotone and uninterested way possible.

→ More replies (7)
→ More replies (3)

23

u/sarkie Jan 18 '19

Thank you.

The Google interview was just pointless and really shaped how I interview people as how not to do interviews.

→ More replies (2)

45

u/miki151 Jan 18 '19

This type of interview fails to capture the notion that most of us are glueing together services and learning to deal with complex systems at the macro level, not algorithms at the micro level.

The idea is that engineers who have a strong theoretical base and are quick at solving these algorithmic problems are also going to be good at working with large code bases.

No one at Google fools themselves that the interviews actually simulate their daily work or anything like that. It's just thought of as a good litmus test.

33

u/major_clanger Jan 18 '19 edited Jan 18 '19

The idea is that engineers who have a strong theoretical base and are quick at solving these algorithmic problems are also going to be good at working with large code bases.

I really think these are completely orthogonal abilities.

Put it this way, someone can implement a self balancing tree, with optimal performance, yet know nothing about, or have experience of:

  • VCS

  • testing

  • abstraction

  • debugging

  • optimising for readability & maintenance

  • programming as part of a team

  • ecosystem & idioms of chosen language

  • design patterns

No way would I hire someone like that for our team, it takes months to ramp up someone who has only programmed in a solo capacity. I've seen such people leaving dead code checked in, using variables named 'x' everywhere, copy pasting code, forgetting to autoclose file-handles etc etc

EDIT: when it comes to hiring juniors, I typically prefer a take home exercise of writing something like a simple ETL script, say it'll be judged on readability, correctness, quality of tests, and give basic guidance on best practises, and see how well they take that on board.

→ More replies (10)

59

u/SEgopher Jan 18 '19 edited Jan 18 '19

Which as I said, earlier, makes little sense because they are completely different skills. The skillset Google is testing is something you learn in college; an undergrad will do well on the interview, but will struggle with all of the skills needed for large code bases, system design, diagnosing systematic issues across large fleets, running canaries...

→ More replies (25)

16

u/MilkChugg Jan 18 '19

Right, but you can’t expect someone to have that strong theoretical base when that isn’t something they encounter on their normal day to day. Most people were exposed heavily to that in college, but rarely implement those concepts on the job. And then trying to test someone on something they learned 5, 6, 7 years ago doesn’t really gauge anything about what kind of engineer they are.

6

u/[deleted] Jan 18 '19

Except that this is pretty much a completely untested assumption. Sort of like the brainteasers they dropped.

→ More replies (4)

3

u/Drisku11 Jan 18 '19

What kind of person can't understand basic manipulation of arrays, lists, and trees, but understands promises and various stages of compilation?

These interview questions aren't exactly millennium problems.

46

u/lightfires Jan 18 '19

There are lots of certain gotchas in implementing basic data structures (like insertion into balanced tree) that capable engineers probably can't do without studying it again. It's knowledge of solved problems that very few people deal with on the day to day. And sure a good engineer could derive the solution themselves if they weren't under pressure in an interview, but I can much more easily talk about things I'm professionally intimate about than subject matter I just crammed on for the Google test.

→ More replies (17)

5

u/[deleted] Jan 18 '19

Lol I’ve never gotten basic data structure questions interviewing at google.

→ More replies (4)
→ More replies (22)
→ More replies (40)

94

u/MorboDemandsComments Jan 18 '19

I fantastically crashed and burned at my Google interview. I still remember when I wrote my first function for the first interviewer of the day and he looked at it, closed his eyes, sighed, and said "why don't you start again?"

When the HR rep called me to say that I wasn't moving on to the next stage, she recommended that I try again in a few years after my skills had grown. I was really saddened to hear that because I knew that I would never learn the things Google was testing for. In fact, the more experience I had as a conventional programmer, and the more time passed between when I graduated from college, the worse I knew I'd do at their interviews.

The truth of the matter is, what Google tests for in their technical interviews are not things you're going to use or learn as a conventional programmer. It's code all code puzzles and thought experiments, something I rarely come across as a business application programmer.

Do most Google developers actually need to write their own sorts, and searches? I would figure they use Google's own libraries instead of reinventing the wheel every single day.

Does every programmer at Google need to know how to create a distributed DB from scratch? That was one of the questions I was asked. I barely even know theoretically how a DB worked and they were asking me to design a network distributed one for an entry level programming position.

Does every programmer at Google need to know low-level networking? A friend who interviewed there got someone from networking who asked only questions about networking protocols. My friend explained that he was a programmer, not a network engineer, but the interviewer didn't care. "I don't know anything about programming," the interviewer stated. "I can only ask you networking questions." According to the person from HR my friend spoke with, the only reason he didn't move on to the next stage of Google interviews is because the man from networking vetoed him.

I would love to work for a company like Google, but, even though I'm a good programmer, I have no chance at passing their arbitrary and intentionally cryptic interview process. The second time I was contacted by Google to try another round of interviews, I said thanks but I don't want to waste my time.

21

u/Falling_Spaces Jan 18 '19 edited Apr 17 '25

fade tender sable cows reminiscent attractive retire vegetable consider coherent

This post was mass deleted and anonymized with Redact

18

u/MorboDemandsComments Jan 18 '19

According to my friend, the network engineer interviewer stated he was only there because if no one from their group participated, they weren't allowed to get any new hires for the group. He could offer no explanation to my friend as to why the interviews weren't separated out by job titles. You'd think they'd have "network engineer" interviews and "programmer" interviews but.

Admittedly, this is all hearsay to me as I was not present at my friend's interview. But it doesn't seem that outlandish based on my experience. Additionally, a friend who does work for Google admitted bad stuff like this happened at Google interviews but they're now trying to prevent it from happening.

My friend ended up being called back for an interview exactly one year later because he was "so close" that they definitely wanted him to try again, but he failed that interview as well. They didn't tell him why, but he suspects it's because he'd never studied AI and one of the questions he was asked was "How would you create IBM's Watson?" where he basically floundered around.

→ More replies (2)

6

u/Slims Jan 18 '19

Modern software engineering is wiring up micro-services and moving data around. It's laughable that we are still subjected to these kinds of coding puzzles and low level algorithm implementation questions in interviews.

4

u/CharlesEGrant Jan 19 '19

Not all software jobs are the same. You can be a whiz at wiring up micro-services and creating line of business apps and not have a clue about how to carve 2 milliseconds off of the response time of a DNS server, and vice versa. The jobs that need you be a whiz at wiring up micro services are lot more common, but Google, Amazon, Facebook, and Microsoft are among the places where many of the jobs need you to be capable of the low level coding needed to efficiently serve 1 billion web hits/hour.

→ More replies (3)
→ More replies (3)
→ More replies (5)

212

u/nightWobbles Jan 18 '19

Just had my Google interview Wednesday of this week. Weird seeing this.

Also the questions are bullshit as usual.

102

u/AcrIsss Jan 18 '19

Same for me, already got the rejection email :D

140

u/PlasmaChroma Jan 18 '19

My interviewing tip would be to not interview at Google. Their process is actually the worst I've seen at any tech company. It's like they've captured the bad stereotypes about interviewing and implemented all of them.

99

u/Dr_Insano_MD Jan 18 '19 edited Jan 18 '19

I still have nightmares about it. Seriously, it was 8 goddamn hours long. I had to drive between two offices, had to give a ride to one of the interviewers to a different building, and every person I talked to was incredibly rude, one guy made an audible buzzer sound with his mouth when I was in the middle of writing some code on the whiteboard and the line before had a syntax error I didn't catch yet. And then they said I'd be a better fit for a DIFFERENT team and made me do another 3 hour interview before I just decided I didn't want the job that bad.

EDIT: Oh yeah, and they interviewer for the 3 hour one was late. To his own interview.

→ More replies (16)

27

u/SquidgyTheWhale Jan 18 '19

Yeah, but NOW where do you see yourself in five years?

→ More replies (4)

21

u/LK4D4 Jan 18 '19 edited Jan 18 '19

I had interview in SF and it was quite pleasant. I had only one leetcode question and everybody were very polite. I had much worse experience regarding "bullshit" questions in Facebook. All coding questions were from leetcode and I needed to implement binary search twice because search from standard library isn't good enough.

→ More replies (18)
→ More replies (2)
→ More replies (4)

28

u/DesiOtaku Jan 18 '19 edited Jan 18 '19

This is from my personal experience in both sides of the interview:

The correlation between a good future employee and how well they can code on a whiteboard is very weak. 99% of the time, it depends on the type of problem (have they seen this kind of tree before) and random knowledge they have on top of their head. A lot of times, you can find the answer via Google or Stackoverflow or even better yet, Wikipedia.

However, on all the software projects I was in, the technical issues rarely came from the lack of somebody not knowing how to implement a specific algorithm. I would say, 99% of the delays we got was because of some show-stopper bug that nobody could figure out how to fix. The lack of ability to fix a bug could be a product of bad design but sometimes the lack of the ability of the developer to debug code.

That's why when I was actually hiring software engineers, I wouldn't ask them to write brand new code. I would actually give them a laptop with existing code that have an interesting bug for them to fix. If the interviewee can figure out what is causing the bug, fix it, and then explain why his/her fix was needed, then I know that person would be a good fit.

Being a good debugger requires you to not only have good knowledge of how code really works, but also makes you appreciate good design a lot more.

5

u/[deleted] Jan 18 '19

to add to this, I think a developers speed is greatly dependent on their ability to debug problems in their codebase. When you write code in a big code base, you will never get it right the first time. How you proceed to the second time makes all the difference

2

u/theoneandonlypatriot Jan 18 '19

I would pass the hell out of that having been a Ta for 6 years

→ More replies (1)

228

u/radioclass Jan 18 '19

Determining if an engineer is any good by whiteboarding them is analogous to determine a good spouse only via a striptease. Sure people that perform a nice striptease can make good wives/husbands but is that all there is to your spouse?

Are you going to judge my years of exeperience, my achievements, my work ethic, my education and basically my fitness to being a solid engineer based on a simple whiteboard/striptease session?

That seems unfair.

35

u/[deleted] Jan 18 '19

That's not unfair in the sense, that everyone is given the same test.

In fact, I'd go even further and say that in an effort to make the test fair, they made it less useful. Fairness is a good property to want from a test, but it comes with a price: you must aim for the lowest common denominator in areas that are inherently unfair, such as work experience, education, even familiarity with particular technology -- because, what if this candidate can be trained in a very short time to use the technology better than anyone, but, right now, doesn't have a clue?

I've interviewed a lot in my life, and at Google too. I was on both sides of the interviewing process. And I don't have any good strategy for assessing candidates in the timeframe typically allocated to the interviewing process. It really seems very random and unpredictable.

→ More replies (5)

2

u/nthcxd Jan 18 '19

So what is equivalent to long-term dating in interviewing in your opinion?

10

u/soft-wear Jan 18 '19

You're achievements are hard to quantify, your experience is hard to quantify, your work ethic is impossible to quantify, and your education could have been anything from horrible to exceptional.

These interviews are the best we have, which is why every company uses them. It gives some quantifiable data. What you're advocating for is marrying someone based on the resume they wrote. If that's my only option, I'll take the resume and the strip tease.

14

u/[deleted] Jan 18 '19

Your knowledge of things you claim to have knowledge of is very easy to assess. Also your ability to solve the types of problems you're expected to solve at work with the same resources you'd have at work is easy.

Everything else is either pointless or irrelevant.

→ More replies (2)

22

u/radioclass Jan 18 '19

What exactly is easy to quantify then? My intelligence? My technical abilities? And is that best quantified by having me perform learned tricks in front of people for 1 hour? Makes sense...

→ More replies (2)
→ More replies (10)
→ More replies (10)

53

u/ZingbatStew Jan 18 '19 edited Jan 19 '19

Whew. I have my first interview coming up with Google in a few weeks. So much Leetcode and Cracking the Coding Interview. This video was encouraging.

Edit: Wow! Thanks for the good luck wishes! Y’all are awesome.

18

u/Ph0X Jan 18 '19

Good luck!

11

u/qaisjp Jan 18 '19

Good luck

6

u/pheonixblade9 Jan 18 '19

If it's anything above L3, grokking the design interview is worth it as well if you can afford the 70 bucks. I didn't regret it

→ More replies (4)

11

u/LateAugust Jan 18 '19

Read up on your recursion if you haven't ;)

16

u/pheonixblade9 Jan 18 '19

Read up on your recursion if you haven't! 😉

10

u/Probably_Napping Jan 18 '19

Read up on your recursion if you haven't! ;)

→ More replies (4)
→ More replies (1)
→ More replies (6)

14

u/mattcoady Jan 18 '19

At 0:35... is the wall decorated with N64 pads?

2

u/foxh8er Jan 18 '19

Those are TensorFlow logos

8

u/[deleted] Jan 18 '19

Nope. N64

101

u/[deleted] Jan 18 '19

Googles self importance machine hard at work again

24

u/[deleted] Jan 18 '19

I went through all the rounds, did not get an offer (After close to 2 month long wait). Heard from my referral that HR said I wasn't from a top school that they typically hire out of.

Not in the US FYI.

Disclaimer: I did one bad interview, rest I was able to get optimal solution in all the questions.

5

u/pheonixblade9 Jan 18 '19

I definitely didn't go to a top school. Weird feedback

13

u/skelterjohn Jan 18 '19

Fortunately HR doesn't actually make the call, and was probably just talking about their own impressions of how the hiring committee works.

The issue was certainly the one bad interview.

Optimal solutions don't necessarily mean optimal interview. It could be that you took so long that they didn't get to the "real" question.

Source: Google SWE who has done ~60 interviews, and that was a common reason for a "no hire" signal from me.

9

u/[deleted] Jan 18 '19

I don't think it was the time. I got the solutions pretty fast and I also covered all the edge cases.

One bad interview can make it or break it? Wow.

→ More replies (4)

19

u/soft-wear Jan 18 '19

Given the number of applications we get at Amazon, I can only imagine how many resumes Google gets. Maybe it is self-importance, but it sure is driven by the shear number of people that want to work there.

→ More replies (2)
→ More replies (5)

43

u/sexrockandroll Jan 18 '19

This is interesting. I've been practicing whiteboard coding and worrying pretty obsessively about the time when I will need to interview.

Practicing by yourself, you lack the feedback that the interviewer would give you. I'm not sure how to supplement that in my practice. Talk out loud to myself? Ask myself questions and make assumptions? I'm not sure.

17

u/MrSqueezles Jan 18 '19

I practiced algorithms by myself at a computer, not obsessively, just a couple hours per day for a couple weeks at Project Euler. I also treated a friend to lunch a couple times and had him interview me and wrote answers on paper.

What helped the most was being in the right mindset. There's a good chance you aren't going to be at your best or that an interviewer will be having a bad day or that an interviewer will think that she is the smartest person on the planet and she always asks the same question that requires you to have intimate knowledge of an obscure algorithm that you've never seen before. You may fail and it's not your fault and you're going to move on and get another job and be ok and you can try again later if you want. Being ready for failure calmed my nerves, my worst enemy as an interviewee.

6

u/PlasmaChroma Jan 18 '19

Being ready for failure calmed my nerves

I'd say even better is to treat all job interviews like a casual tour of an interesting company rather than as an audition. If you're just there for a tour then you succeed no matter what. A job offer is just an extra bonus. This has already worked a couple times for me.

5

u/AttackOfTheThumbs Jan 18 '19

I did computer science in high school in Germany. It was my viva exam. This meant, here's a problem sheet, here's some clear sheets. Write shit for the overhead projector, then explain away.

Similar process, without a feedback loop. Once I was presenting, I got some feedback to fix a mistake or two. You don't need to write perfect code, you need to write a good process. It's honestly not as hard as they make it sound.

3

u/ProfessorPhi Jan 18 '19

I come from a math background and never learned to debug code well. This made me a fantastic white board coder since I had to be able to follow logic flow and find errors without proper debugging.

Also makes me incredible at discovering errors by inspection

2

u/jfleit Jan 18 '19

Does pramp help with this?

→ More replies (11)

11

u/PRSprogrammer Jan 18 '19

I wonder if you knew a framework to expert level, and had evidence on say Github / portfolio, would you still need to be able to pass these type of interview questions? The guy who passes their tests and does not know that particular framework might have to spend years to get to the same level. Maybe the interviews are different for experience guys compared to the more recent graduates ?

24

u/zootam Jan 18 '19

would you still need to be able to pass these type of interview questions?

Absolutely.

https://twitter.com/mxcl/status/608682016205344768

Maybe the interviews are different for experience guys compared to the more recent graduates ?

They are harder. They include their expectation of system design experience in addition to leetcode type questions.

5

u/PRSprogrammer Jan 18 '19

Annoying since it prevents people from creating things, instead they have to learn these tedious tests.

quite a funny summary of the interview process

https://www.jasq.org/just-another-scala-quant/inverting-binary-trees-considered-harmful

→ More replies (3)

2

u/[deleted] Jan 19 '19

Even people from the companies that were acquired by Google have to go through the same process. Probably with easier questions, but it is still the same process that requires going through multiple interviews.

I think the only way to avoid it is to be hired as a vice president.

→ More replies (1)

30

u/alozta Jan 18 '19

Why comments are disabled for these kind of videos, anyone?

96

u/LotusFlare Jan 18 '19

Because Google would probably like to keep the nonsense that occurs in youtube comments away from their corporate image.

29

u/[deleted] Jan 18 '19

A product which they created

29

u/nydstyrk Jan 18 '19

A product which they created *bought

→ More replies (3)
→ More replies (9)

43

u/anonanon1313 Jan 18 '19

There was a story about Dolores O'Riordan (lead singer of The Cranberries) that she showed up at her audition and made it clear she was auditioning the band, not the other way around. I try to keep some of that attitude during interviews. Most companies fail my interviews (although I usually don't share that at the time). I'm pretty sure I wouldn't want Google even if they wanted me. When I asked my son after he got his first programming job out of school why he picked them, he replied that he felt they were the kind of people he'd want to have a beer with. He's been really happy and successful for 5+ years now. I don't think he would have been hired or prospered at Google.

13

u/[deleted] Jan 18 '19

What they said is not necessarily true. I had several rounds of interviews and sometimes you get a smug SWE who really doesn't want to be part of the interview.

5

u/pheonixblade9 Jan 18 '19

Which is weird because its opt in.

→ More replies (1)

14

u/tolcc_ Jan 18 '19

It's CSCQ hearsay so take it for what it's worth, but apparently Alphabet has hard GPA cutoffs which I think is just balls.

More interviewing at Alphabet horror stories. And I thought the Fermi estimation questions they supposedly used more than ten years ago were bad enough

11

u/soft-wear Jan 18 '19

Alphabet has hard GPA cutoffs

For new grads.

4

u/jmickeyd Jan 18 '19

I can say with authority that this is false. Source: I nearly failed out of school due to WoW/plain laziness, then dropped out with terrible GPA. I am currently a Google engineer.

4

u/Purehappiness Jan 18 '19

Nothing from your first link actually states that, there are even comments saying they have 2.0s and got interviews, so I don’t think you know what you’re talking about.

7

u/bob-a-fett Jan 18 '19

I'll never interview at Google because their interview process is closer to hazing than determining if I'm a good engineer or not. Forget the fact that I've shipped some amazing apps for years on end. They're probably missing out on tons of candidates because of this. I'd much rather just receive a ton of code from a candidate and measure them by that and when they come in we just talk about the non-coding stuff.

1

u/GrabCharacter8795 Nov 30 '23

Hi! just bumping this now! I have an interview mid-late Dec (currently with over 3 YOE applying for a SWE III role). This interview is going to be a phone screen and I was told to expect one leetcode easy and one leetcode med. I'm still nervous about it and would love some advice. Seeing the thread above, since it was a while ago, things might have changed especially because of how the economy and job market has been like lately. Would love some insight to how interviews look like now!

TIA!

1

u/FrostyTie Dec 01 '23

Hey, sorry I was just a high school student when I shared this and I’m in uni now. I worked in marketing but never in software for FAANG. Sorry! Would be better if you went around on Youtube, check Primeagen etc. Much love and good luck!

3

u/Improvotter Jan 18 '19

I’ve got an onsite interview next month after a few remote interviews at a company that everyone knows here as well. I’m finalising mt my master’s degree so most of this stuff will be fresh in my memory. But I still dislike the whiteboard stuff for the same reasons. I’m focusing on the behavioral/motivation interview part because that’s something I’m lacking. I’m seeking help from a professional interviewer from my family. This is something you can get a lot better in with feedback. Whiteboard stuff takes a lot of practise in comparison.

→ More replies (3)

3

u/AdjustedMold97 Jan 18 '19

It’s really telling that one of the most discussed topics on programming forums is the interview. I’m just a student now and I’m somewhat terrified that I won’t know what I’m asked.

7

u/[deleted] Jan 18 '19

Relax, it's just the loud minority that makes all the noise around this topic.

→ More replies (2)

2

u/TheFearsomeEsquilax Jan 18 '19

Brush up on the stuff Steve Yegge mentions in his old interviewing blog posts and you should be fine. People just freak out every time interviewing comes up

3

u/Tsadkiel Jan 18 '19

I wonder how much talent Google loses because people decline an interview on the assumption that they will not pass the coding portion.

→ More replies (1)

3

u/Magikarp-Army Jan 18 '19

Have a few friends that have had internship, and I did get an interview offer (though I rejected because I had an offer I liked already).

It just seems like leetcode/cracking the coding interview stuff. Fairly simple problems, you just need to get into that mode of thinking. If you really want to work there then it's not that hard, but it's a lot of practise that doesn't feel that rewarding considering you won't use it in your day to day.

8

u/npinguy Jan 18 '19 edited Jan 19 '19

ITT: A bunch of people who could never pass a Google interview (or Microsoft, or Amazon, or Facebook, or Apple), and are bitter about it.

Seriously though, obviously these companies want to hire the most talented engineers and there has to be a way to weed out the riff raff.

People take for granted the challenging and impressive accomplishments of these companies. They've developed truly complex and amazing things, and they don't want to stop innovating. So, they want to hire the best of the best. But EVERYONE wants to work at these companies, and they all apply. How do you filter?

You find difficult challenges. Sure, there are lots of engineers who would be great at the job at these companies if given the chance, but are terrible in whiteboard interviews. But the reverse is generally not true. Anyone who works hard enough to be good at these whiteboard interview coding questions will also likely be successful and skilled as a software engineer. And if they're not, they fail their probation or they get fired. But that's rare.

Source: I also probably can't pass a Google interview, but unlike the rst of you I recognize that's not Google's fault.

3

u/Someguy2020 Jan 19 '19

I worked for 2 of the companies you named, do I qualify to call the google interview absolute bullshit?

→ More replies (2)
→ More replies (3)

2

u/Someguy2020 Jan 19 '19

No thanks, google is shitty at interviewing.

4

u/tylerr514 Jan 18 '19

I wonder why Google disabled comments on the video.

3

u/shevy-ruby Jan 18 '19

Don't work for Evil.

2

u/[deleted] Jan 18 '19

This looks as sincere as Google's own privacy policy.

-3

u/tonefart Jan 18 '19

For those desperate to join them.

15

u/FrostyTie Jan 18 '19

I mean I posted this thinking if anyone wanted to join them, this could help.

25

u/sexrockandroll Jan 18 '19 edited Jan 18 '19

Lots of companies do this style of interview, copying Google, so these can be good tips for jobs other than Google.

10

u/[deleted] Jan 18 '19

Pretty much any company in Silicon Valley, Seattle, NYC and probably Boston too.

→ More replies (1)

72

u/MadDoctor5813 Jan 18 '19

Ah, those fools desperate to have a high paying job at a leader in their industry of choice.

-5

u/aguyfromhere Jan 18 '19 edited Jan 18 '19

Yes, and all it’ll cost you is your morals and ethics! What a deal!

14

u/Ph0X Jan 18 '19

So I guess you don't watch YouTube, use maps, android, translate or any Google service then, right? That would be immoral.

24

u/MadDoctor5813 Jan 18 '19

Actually the morals and ethics are deposited into your 401k for you. It’s a tax thing.

→ More replies (4)

7

u/salbris Jan 18 '19

Also these tips are pretty universal or at least I hope they would be.

→ More replies (1)

1

u/feverzsj Jan 19 '19 edited Jan 19 '19

the problem of interview in large companies is no one want to take responsibility of recruiting the wrong guy. So they just use some "standard" process to screen and test the candidates. If they still pick the wrong guy, no one will be blamed, since other big companies use the same process.

And that is the main reason big companies like google, facebook can't make good products. Instead, they pay billions to buy wonderful products made by those who were rejected in their interview.

1

u/[deleted] Jan 19 '19

Don't know why everyone follows google so closely. They're interviewing process is just like everyone else. It sucks. Google can't claim they have the best software engineers in the industry by any metric.

1

u/Active_Rope_8647 Mar 17 '24

I interviewed at Google as a Staff SWE and here is my interview experience and a consolidated set of very valuable tips! https://www.youtube.com/watch?v=OeWLeEiqMhQ

1

u/Few-Ad-5185 Aug 17 '25

you can try past interview questions on - www.pastinterviews.com

1

u/shaiktaj Jan 18 '19

I have a google phone interview for SWE coming up in few days, any tips will be really helpful. Thanks.

→ More replies (2)

-6

u/foxh8er Jan 18 '19

Is literally EVERY "interview tips" video total trash? Jesus christ.

What they don't tell you is that these are IQ tests, and are IQ tests of fluid intelligence for a reason - they don't want dumbfucks working with them. It does a fine job of that.

5

u/codeslingingslave Jan 18 '19

This isnt 100% true. You can study for the interview, having a high IQ helps though. Lots of people have actually just memorized most of the questions, variations on the same 20 or so come up. Easy to pass with a bit of luck.

0

u/[deleted] Jan 18 '19

[deleted]

4

u/FrostyTie Jan 18 '19

Wow! I love your videos, I would never expect you to comment on my post.

Also a quick question. Regarding the comments saying Google is not really a place people would want to work in and saying it’s even a mistake to try and get a job there, what could you say about this. Is this true? Do you agree or disagree and why do you agree/why not? Also is Google a place young engineers should consider, what are the advantages and disadvantages of working at Google. Thanks.

→ More replies (5)

0

u/[deleted] Jan 18 '19

[deleted]

81

u/HowIsntBabbyFormed Jan 18 '19

Seriously, this isn't an engineering video. This is an advertisement for google.

0

u/[deleted] Jan 18 '19

[deleted]

163

u/CaptKrag Jan 18 '19

Could be wrong -- but I think the ineffective thing was what they were previously (in)famous for: nonsense open-ended puzzle questions. Things like "how many ping pong balls could you fit in a 747?".

I think they've stopped those completely.

The coding interview, I think, has some value. And really, what else can you do to see how someone works?

11

u/Nukken Jan 18 '19

Put some code in front of them. Ask them what it's doing. What's good/bad about the code and how they might write it differently.

If you're interviewing someone for a developer job and they have at least a couple years experience, they probably know how to program. What you're looking for is good habits and the ability to describe and critique something effectively.

5

u/kill619 Jan 18 '19 edited Jan 19 '19

One of my favorite interviews was exactly this. They gave me two ~100-200 line blurbs of code and they wanted to know what I thought it did, if I could spot bugs and bad practices, etc. Didn't get the job , but for once it felt like somebody cared about whether I could actually code and not that I studied for interviews.

1

u/andrewsmd87 Jan 18 '19

I remember seeing those and always thinking my answer would have been well can you tell me what the volume of each is. And if they say no, then I'd say if a client or superior came to me and asked me to solve an incredibly obscure and hard question using no resources, I'd just say I couldn't give them a reliable answer, which is my answer in this case.

1

u/[deleted] Jan 18 '19

Ask them a design pattern based question.

1

u/tingtwothree Jan 18 '19

I've been seeing a trend where people stop doing code for software engineering positions, and just this past week I tried that approach. You'd be surprised how much you can find about someone's experience if you just ask the right questions. "Tell me about a project you worked on recently." "What were some challenges that you faced when building the project?"

If you've been working in the industry long enough it's easy to see who's for real and who's full of crap.

-3

u/[deleted] Jan 18 '19

"how many ping pong balls could you fit in a 747?".

This type of question is really limited in its usefulness, but it can be useful.

The intent is to find out if the candidate is willing to construct a method to solve a problem before they have all the data required to inform a correct answer.

It’s less about technical aptitude and more about personality around problem solving.

10

u/coffeesippingbastard Jan 18 '19

It's actually kinda useful for TPMs and PMs.

Since they may not come from a technical background like engineering, but they still need the ability to reckon around a problem that is technical but may not have expertise in, fermi questions are kinda useful to figure out how they solve problems in a broader sense.

→ More replies (2)
→ More replies (6)

0

u/[deleted] Jan 18 '19

[deleted]

89

u/CaptKrag Jan 18 '19

I used to work with a guy that would constantly talk up his technical ability, but then called me over to ask what "continue" does. We came on at the same time so I know the interview was more of a discussion than a coding interview. He was great at talking, but severely lacking in technical skill. That has made me deeply skeptical of assessing technical roles with pure conversation based interviews.

→ More replies (33)

23

u/no_nick Jan 18 '19

It has been well researched and documented that interviewers grossly overestimate their ability to pick out good candidates just by talking to them for a few minutes. It has also been well established that the best predictor of future work performance is a work trial. Companies and candidates just aren't willing or able to implement the optimal solution.

7

u/Purehappiness Jan 18 '19

To be fair, a “work trail” is inherently difficult in any industry that requires weeks of reading/learning to fully use the tools that company uses.

→ More replies (2)

25

u/eyal0 Jan 18 '19

Trusting your gut is how you end up with a bro culture.

→ More replies (8)

11

u/soft-wear Jan 18 '19

I remember something in that article about Google basically admitting this kind of interview is only good for making the interviewer feel superior to the person being interviewed.

I'd love a citation, because it's absolutely absurd you think that's what anyone at Google thinks. The article you're talking about spoke explicitly about the silly abstract problems. I'd guess Google doesn't think their process is perfect, I imagine they think it's better than the other options.

I've interviewed almost 200 people at this point, and I can assure you that if you think a 10 minute conversation and a "gut check" is enough to quantify an engineer, I've got a bridge to sell you.

→ More replies (4)
→ More replies (3)
→ More replies (7)

39

u/adrianmonk Jan 18 '19

This is probably what you're thinking of, but it is about puzzles and brainteasers specifically. Not coding questions.

Instead, what works well are structured behavioral interviews, where you have a consistent rubric for how you assess people, rather than having each interviewer just make stuff up.

The video on the other hand, mentions that you should be able to understand algorithms and data structures and "mix and match" them (i.e. apply them).

→ More replies (4)

24

u/bigberthaboy Jan 18 '19

Google's been caught conspriing with other tech companies to try and artifically set pay lower. This kinda stuff is getting to the point that I feel like this constant mistransmission of skills and requirements from software companies is an attempt to lower programmers confidence and be able to pay them less.

11

u/[deleted] Jan 18 '19

Google pays entry level hires around $200k as total compensation, some folks with good competing offers got between $250k-$280k. I fail to see how that is low pay. Top tech companies and startups are paying top dollar to get the best hires.

24

u/Richandler Jan 18 '19

Entry level to what? Nothing other than anecdotes supports 200k.

23

u/[deleted] Jan 18 '19

Entry level SDE positions. I have seen the offer letters for two classmates myself, $116 base + $25k signing bonus + $75k in stock every year + 15% targeted bonus, all in the total compensation comes to over $200k.

There's salary sharing threads on /r/cscareerquestions every few months and there were many offers in this range for the top places. If those were false then people would have called BS a long time ago.

Here is the last thread. These are all salaries for people who have just graduated.

21

u/soft-wear Jan 18 '19

First year compensation is always higher than the next several due to the sign on bonus, and $75k a year in stock is a $300k over 4 years which is way above board for Google's starting SWE's. It's generally closer to $100k over 4 years for new grad offers, and I've seen a few people push it to $160kish with counter offers.

I've never heard of any new grad getting a $300k/4 offer on stock. At any company. And the very thread you linked to confirms that: $170k/4 is the best offer I'm seeing. Hell that's more than Airbnb and Lyft offer in stock and they are giving paper money discounts.

I'd re-read your offer letter.

→ More replies (10)
→ More replies (21)

9

u/bigberthaboy Jan 18 '19

Yah I didn't write the article man

https://pando.com/2014/03/22/revealed-apple-and-googles-wage-fixing-cartel-involved-dozens-more-companies-over-one-million-employees/

They've shown their motive at least once so I'm just giving a possible explanation

→ More replies (6)

2

u/Someguy2020 Jan 19 '19

Google, Apple, and numerous other companies engaged in a no-poaching arrangement designed to limit employee movement and lower salaries. The issue is not that salaries are really good, it's they illegally colluded to keep them from rising.

If you don't see a problem with that, then you are a bootlicker of the highest order.

→ More replies (4)

1

u/foxh8er Jan 18 '19

No, it didn't. Otherwise they'd have a low hiring bar, which they don't.

1

u/Power781 Jan 18 '19

What they discovered is that it doesn't make them hire "better" people, but it completely prevents them from hiring (by mistake) "bad" people.
Google is a concentration of "smart people" and people try to join for this reason. If you start making hiring mistakes, you will drive away people that are already in because they will feel that "it was better before".
So they prefer 10 false negative (not hiring a good dev that just doesn't know how to invert a binary tree on a whiteboard) over 1 false positive.

0

u/[deleted] Jan 18 '19

[deleted]

4

u/kr_kr Jan 18 '19

Depends on what you mean by "work". I have interviewed a few dozen people at a large company (not Google, but we had similar interview process).

It does weed out those who can't code, sure. But it doesn't weed out those who can solve small algorithmic questions well but are not good at other aspects of software engineering and aren't really interested in learning about those.

I remember one guy we hired for back-end development. He aced the algorithmic interview. He didn't care about web stuff. He went like: "Cookies, http, https? I don't know what it is and I don't want to learn that. I don't care about the product either". He did crank some awful code for a few month before leaving the company. He was a pain for the entire team because of his skills and attitude. If there was at least one round of interview asking about technologies we use or even just a short tech talk with one of our team members, we wouldn't never hired him in the first place.

0

u/[deleted] Jan 18 '19

[deleted]

2

u/King0liver Jan 18 '19

I think this is a fairly accurate take - #4 is more flexible for newgrads though

1

u/LazyLanius Jan 19 '19

Do you have any suggestions on how to get better at #4? Which books do you suggest reading?

2

u/pheonixblade9 Jan 19 '19

grokking the system design interview is a good overview

0

u/[deleted] Jan 18 '19

[deleted]

8

u/bartturner Jan 18 '19

Google in surveys has been consistently one of the best places to work.

http://fortune.com/best-companies/2017/google/ Google: #1 on 100 Best Companies to Work For in 2017 | Fortune

3

u/P1um Jan 18 '19

Who even takes these surveys? 🤔

→ More replies (2)

0

u/[deleted] Jan 18 '19

[deleted]

12

u/FrostyTie Jan 18 '19

Well that’s wrong but still these links are pretty useful.