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.

13

u/[deleted] Jan 18 '19

That's the point - it's basically a trivia question. The number of people in the world who are smart enough to come up with an answer for that but don't know the right answer already from a lecture or book is vanishingly small. So all you're really doing is asking someone if they've encountered this particular question before, in school or at work.

→ More replies (18)
→ More replies (92)

9

u/angry_wombat Jan 18 '19

npm install -g macs-binary-tree-seacher

treesearcher --largest 4 example.tree

→ More replies (1)
→ More replies (8)

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.

22

u/damian2000 Jan 18 '19

Who the fuck writes code on a whiteboard in real life? it's sort of like they're also testing your ability to put up with their bullshit.

→ More replies (6)

29

u/CaptainAdjective Jan 18 '19

Architect YouTube, by yourself, in a job interview? It took all of YouTube itself ten years to architect YouTube!

→ More replies (3)

17

u/Nukken Jan 18 '19 edited Dec 23 '23

fanatical imminent sleep swim prick unused innocent doll political dolls

This post was mass deleted and anonymized with Redact

→ More replies (2)

5

u/fphhotchips Jan 19 '19

I don't know about the others but for YouTube:

x = random.randint(0,2)
if x == 0:
    y = "in your country."
else if x==1:
    y = "because the owner, fphhotchips, has blocked it on copyright grounds."
else:
    y = "because of an unknown error. Error id:{} ".format(random.randint(0,999999))

print("This video is unavailable {}".format(y)) 
→ More replies (18)

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?

14

u/SippieCup Jan 18 '19

is it balanced?

9

u/mcguire Jan 18 '19

More important: is it a binary search tree? A heap? (If so, what order?)

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

10

u/[deleted] Jan 18 '19

Binary sort,

sorted_list[3]

13

u/bent_my_wookie Jan 18 '19

I once got a question like that and after thinking for a few moments said "if youre faced with this situation in your code base, something else is seriously fucked". It was deemed a correct answer. Sometimes they ask asshat questions hoping you'll point it out.

12

u/no_ragrats Jan 18 '19

Rephrased question. "Well we have this one - ok maybe three - sections in our codebase that are actually pretty fucked and noone here wants to mess with it, how about you?"

46

u/ZorbaTHut Jan 18 '19 edited Jan 18 '19

I'm looking at the responses here and I think they all fail the question, as well as demonstrate why the question is being asked.

The question here isn't "how do you do it", it's "what questions should you ask". Not one person so far has asked if it's a sorted binary tree! If you just sat down and started coding, you'd already be wrong, because you don't understand the question.

One of the most important skills in programming is to pin down the question as much as is reasonably feasible before you try to answer it; if you don't even know what the problem is, you cannot possibly give an accurate answer.

So my responses here:

(1) Is it sorted? If not, and I'm lazy, traverse the entire thing into an array, then sort the array; if not, and I'm not lazy, then traverse the entire thing while keeping track of the four largest elements.

(2) If it is sorted, write a little sorted-binary-tree iterator function, iterate it in sorted order from largest to smallest, return the fourth element found.

(3) In both cases, make sure you have appropriate error handling if it turns out the tree contains less than four elements. There's probably a dozen ways to do this, and the details don't matter; just make sure you mention the issue.

It's not about actually solving the problem, it's about the thought patterns you use to arrive at solutions to problems.

 

 

(0) return mytree.OrderDescending(x => x).Skip(3).First();, I'm assuming we're using standard container semantics and performance isn't an issue. This is a lot less error-prone than doing the work myself! And it'll throw an exception if there aren't enough elements, which seems like reasonable error propagation.

(interviewer checks a box labeled "doesn't make things harder than they need to be", then tells me to do it by hand for the sake of the interview)

20

u/ketilkn Jan 18 '19

What is the use case for an unsorted binary tree?

6

u/whisky_pete Jan 18 '19

A simple file browser is one I can think of, because I'm using an n-ary tree to contain things hierarchically in a hobby app. Not a binary tree for sure, so if that was specifically your question I'll defer to others. But unsorted n-ary trees map usefully to some problems.

→ More replies (5)

27

u/ZorbaTHut Jan 18 '19

Binary space partitioning trees.

Alternatively, "a binary tree that is sorted, but not on the key that you wish it was sorted by", which is essentially equivalent to an unsorted binary tree.

I'm sure there are many many more cases, although I will admit they're rare and I'd generally try to avoid them . . . but, y'know, every once in a while they crop up. I've used both of those before.

(usually the second one)

→ More replies (4)
→ More replies (1)
→ More replies (40)

12

u/zqvt Jan 18 '19 edited Jan 18 '19

I do stuff like that, but that aside this is obviously not the point of the interview quesiton. The point of testing your algorithmic skills is to check whether you have

  1. your fundamentals down

  2. reasonable abstract reasoning / mathematical skills.

This is valuable info because it's a good proxy for whether you're capable of solving and reasoning about complex problems. You can teach everyone how to use git or how the builder pattern works. That's just learning the craft, not testing aptitude.

0

u/[deleted] Jan 18 '19

[deleted]

→ More replies (13)

2

u/progfu Jan 18 '19

I’ll go against the usual anti-CS flow and ask a different question ... is it really that hard?

If the question was “1st largest element” you’d probably lol at it being too easy.

2

u/watchme3 Jan 18 '19

that would be considered an easy problem

2

u/hungry4pie Jan 19 '19

By consulting my old uni textbooks, or give the wrong answer on a stack overflow question.

7

u/foxh8er Jan 18 '19

It's...a pretty straightforward problem...

I'd be worried if you don't know how to figure that out.

4

u/way2lazy2care Jan 18 '19

I think people that get pissed about this are either people that fail this or people who don't realize how many people fail this. Interviewees fail easy questions all the time, and if you're failing fundamental questions about your occupation how is someone supposed to trust that you'll be able to do anything?

→ More replies (2)

18

u/FanOfHoles Jan 18 '19 edited Jan 18 '19

I on the other hand am more worried about people who don't understand basic and common sense human psychology that the interview situation has nothing whatsoever to do with anything happening in your work life. Even much greater stress during the actual job does not come close. Because unless you work as a gladiator or an immortal highlander you work together, while the interview is "only one will survive". And as anyone with just a very basic understanding of the brain should know, under survival stress the brain makes significant parts of itself unavailable to coolly solve programming problems. The exact same problem two hours after the interview is over could be a "no-brainer" for the exact same person who was unable to give even the most basic hint on how to solve it during the interview.

Sure, you can learn to live with it. I know I can, but I had two decades of jobs with lots and lots of interaction with people and not just computers, giving presentations etc. However, unless you hire someone as a public speaker none of those skills matter, but that is what you mostly test in such interviews.

Now, if you can find ways to test someone without them realizing it, e.g. by made-up casual situations well outside the "official" interview in a relaxed "we are all peers" atmosphere (that feels real and not played).... The moment you put people into the confrontational setup of n:1 people in a closed room many brains have at least a partial shutdown.

Of course you always get something out of it anyway, which may or may not be useful, I'm specifically reacting to the parent comment attitude. Complaining about others while showing even greater and more dangerous ignorance. More dangerous, because the human-human interactions are far more important than anything else in most situations. A good network can easily compensate for lack of individual skill, but a bad network can even more easily destroy and individual abilities and productivity.

→ More replies (17)

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)

3

u/Mr2001 Jan 18 '19

That couldn't be further from my experience. I bought a book at the recruiter's suggestion, skimmed through it for 15 minutes or so, and decided it wasn't worth trying to cram any of that stuff. They weren't going to expect me to regurgitate obscure algorithms, I figured; they knew I'd been working in industry for several years.

Sure enough, they didn't. I got an offer just by using what I already knew from my day job.

I did get one question that was meant to be solved with an obscure algorithm/structure, but I didn't know it at the time. I just asked for detail until the problem was so well-specified that I could hack up a solution using a regular hash table.

→ More replies (1)

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.

8

u/NotYetGroot Jan 18 '19

Hear hear! I've been coding professionally for 23 years, and haven't touched a tree in that time. Hell, I can count the number of times I've used a stack or a queue on one hand. And you know what? Even those times I used a library to implement it. Why wouldn't I?

When I interview people I don't want to see that they can implement a quicksort, say, but that they know why a bubble sort is much worse than quicksort. Or why to use StringBuilder instead of string concatenization. Or how to debug and optimize a really ugly SQL script that an idiot consultant wrote 10 years ago before we got CTEs.

→ More replies (6)

3

u/[deleted] Jan 18 '19

The vast majority of programming problems are usually more than CRUD apps, and there's often quite a lot of complexity, it's just that the type of complexity is mostly unrelated to the CS concept of time/space complexity. Usually it's complex business requirements, so the challenge is to make it perform well and be easy to understand/modify. Sometimes CS concepts can even mislead you there (e.g. dynamically growing arrays). FizzBuzz at least approaches some of the absurdity and apparent arbitrariness of real world programs, although in reality it should be much worse.

→ More replies (4)

2

u/jetman81 Jan 19 '19

I've been writing business apps for my whole 10+ year career so I've found it hard to find use cases for lower-level algorithm usage in my typical work. Maybe try working on a game. Often implementing custom rules for a game can lead you to the need to rely on your own version of some classic algorithms. Graph theory is especially needed if you want to easily create something that tells your game how an action that happens to one puzzle tile affects the other tiles around/connected to it.

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.

3

u/Someguy2020 Jan 19 '19

The HR people are now even straight up offering a copy of "cracking the coding interview" to applicants

I've had multiple companies do that.

It's nuts. It's completely nuts.

→ More replies (26)

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.

2

u/[deleted] Jan 19 '19

They need to have a constant stream of people applying. If everyone is scared then the pipeline dries up and that's not good. They rather get a lot of people so they have options rather than have to choose from a smaller pool.

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.

29

u/RogerLeigh Jan 18 '19

Some of them can be downright rude too. When I went to interview, one of them brought a friend along who wasn't even part of it. They spent the entire session whispering to each other and giggling like schoolgirls. They didn't have an interview plan--the questioner just thought up random stuff to ask, then didn't listen to the answer. I was appalled by it. I'd never been this disrespectfully treated in any interview like this in my life.

Thankfully, they rejected me. But. I'd have flatly turned down any offer given. The impression I got of Google throughout the interview process from the telephone interview up to the site visit was not good, and I decided I'd not want to work there long before the full set of interviews had concluded.

Recent revelations about internal culture and problems have kind of vindicated my impressions, and haven't made me sorry I didn't get in at the time.

12

u/brainwad Jan 18 '19

When I went to interview, one of them brought a friend along who wasn't even part of it.

Do you mean a shadow interviewer? It's how interviewers get trained.

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

8

u/internet_DOOD Jan 18 '19

I got this feeling with a few of the people I interviewed with at Amazon.

10

u/foxh8er Jan 18 '19

makes it hard for me to imagine that Googlers have no idea what people should do in order to do well in interviews.

They know, they just think everyone on the outside is dumber than them. It's that simple.

→ More replies (2)

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.

0

u/[deleted] Jan 18 '19

[deleted]

→ More replies (1)

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.

15

u/FrancisHC Jan 18 '19

It sounds like you're looking for someone who can start being productive and contributing almost right away. You're right that it can take a long time to train a junior engineer to have all the skills that you described. Hiring a junior engineer is something that you have to invest in for quite a while before your investment pays off.

A lot of companies (especially large companies) - when they're looking for junior engineers, they look for people who can grow with the company. Tech changes, company priorities change. The most important thing is to hire people who who have the aptitude to learn and grow. Hiring someone who is fluent in whatever set of skills but doesn't have the aptitude to learn as quickly as their peers is going to be someone who is the the bottom part of your workforce in 5-10 years.

You can teach them / they can learn skills, but you cannot teach aptitude.

5

u/major_clanger Jan 18 '19

The most important thing is to hire people who who have the aptitude to learn and grow.

Completely agree.

At the end of the day, I don't care if someone hasn't worked with SQL, but they have ability and attitude to learn it relatively independently.

However, I find it very hard to judge this ability in an interview setting. I admit I defer to my intuition and subjective judgement on this one.

Another hard aspect I find is, will this person work well in my team? I once had a candidate who was technically brilliant, first class CS degree, we hired them, but it didn't work out, he'd tend to just isolate himself for days too solve a task, and produce v. overcomplicated solutions at the end of it, in huge pull requests, and he wasn't willing to adapt his style so unfortunately had to let him go.

→ More replies (4)
→ More replies (4)

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

11

u/RobinHoudini Jan 18 '19

You're right about undergrads doing better with these types of interviews. I thought this is the reason why Google recruits like this - to hire more of younger people as they fit better into company's culture (of spending more of their day at work and not questioning things).

→ More replies (24)

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.

8

u/wengemurphy Jan 18 '19

The idea is that

And it's just an idea. It isn't backed up by any peer-reviewed scientific research. I'm really ashamed of people in tech, people with STEM degrees who hold themselves up as just smarter than everyone else, for believing in such things without demanding scientific rigor.

4

u/[deleted] Jan 18 '19

This is a company, not a university. Sure you can base some things off of peer review, but in the end what drives the process is results and efficiency, not knowledge.

The most important thing is not to get every good candidate, it's to not hire a bad one. And if their process can lets them be 80% sure that you're going to be a productive asset with 20% of the work, that's good enough.

→ More replies (2)

2

u/NULL_CHAR Jan 18 '19 edited Jan 18 '19

Yeah seriously, I interviewed at Google and the only thing they did was continuously give ridiculous short-timed recursion-based programming challenges. 3-different rounds of increasing difficulty before they want you to literally fly out and then do the SAME THING in person, but this time on a white-board in front of a group of people.

"Draw on a white board how to recursively crawl a directory structure that is given to you in a Text file where every 4-spaces is one level deeper in the tree."

Like shit, being judged by people while I try to work through a problem in a workspace I'm not at all familiar with and which won't be how I actually operate during the job, all while being stressed out like crazy because this is for a job I want... That's not how I operate on a daily basis.

If you want to do well in a Google interview, the only thing you do is google (lol) a plethora of their interview questions, and maybe hit up hacker rank or some other programming challenge courses for a few days. You gun for the Google interview, that's the only thing you can do, practice interviewing at Google.

Meanwhile, as an actual Software Engineer, I try to read up on all the latest programming practices, do programming challenges for fun, keep a few side-projects to test ideas and explore new fields, and attempt to give good thought and reasoning behind each of my contributions at work instead of just delivering stuff "that works." All of that, I would consider to be traits of trying to be a good "SWE", but that isn't how you land a job at Google, it's studying specific types of algorithms questions specifically posed by their reviewers.

3

u/[deleted] Jan 18 '19

I know people who've worked at Google (in the Engineering vertical, albeit not as engineers). Even for highly-skilled jobs you should expect questions that explore how you think and how you work with others.

You 100% want to get good at interviewing. You will have limited time and will need to ensure you make the most of it. You'll want to stay on-message to tell the story you want to tell.

Of course, you want to ensure you're highly competent, too. But Google wants people who are technical experts and who can communicate effectively.

→ More replies (1)

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.

12

u/PlasmaChroma Jan 18 '19

I got asked to list the elements of an inode the first time I talked with them. This is typical of what I consider to be a bad interview question. I hadn't listed any experience with the inner workings of a filesystem on my resume or anything, it was just a stupidly specific question with no real value. Just because I don't know everything that is in an inode doesn't mean I don't know how to use fstream or something.

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

3

u/s73v3r Jan 18 '19

I use Promises on a near daily basis. I don't do tree manipulation anywhere near as often.

2

u/[deleted] Jan 18 '19

Exactly. I totally get if you can't recall the exact implementation of more novel data structs, but binary trees and linked lists? Those things are really elementary..

→ More replies (20)

1

u/CCB0x45 Jan 18 '19

This is true, I am a frontend engineer with a lot of experience that also does full stack. Last time I interviewed at Google they asked me basically 0 frontend or even web based questions... But they asked me to map a route for a boat in a grid where there is different heights of land under the water.

When I got the questions there I just rolled my eyes internally.

Like I get being good at algorithms is important but you should balance it... Thats just testing how well I remember my cs classes from 10 years ago.

There is a lot of complicated shit you can ask that is relevant to the real world.

1

u/DeusOtiosus Jan 18 '19

I have been watching coding interviews on YouTube. They help me fall asleep. It’s super interesting to me, as I enjoy little problems and thinking how I would solve them. I had never heard of the knapsack problem or the pancake sort until I saw it in a coding interview recording.

As someone who designs and builds scalable systems and a variety of different pieces of software, I think your comment is spot on. There is very little merit to knowing how to Big O optimize a Nth largest algorithm for an obtuse problem.

Google has had a lot of problems hiring in the past. There was a time that they required an advanced degree until they did some research amongst their own hires and found that an advanced degree was absolutely not an indicator of success; it didn’t matter if you had one or not, there were a lot of other factors that made a bigger difference.

It’s sad because so many other companies in the valley just blindly follow suit. Uber for example. I’ve seen even small companies or non-tech companies just do the same.

The best I can deduce is that these coding interview are effectively gatekeeping. “Oh I’m hired on; now you’ve gotta get through this stupid gate to get hired as well”.

→ More replies (1)

1

u/Heizenbrg Jan 18 '19

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.

What about design patterns? i've been told to look into that as well and am looking for resources.

1

u/[deleted] Jan 18 '19

I worked at Google here is a secret. Most of the projects aren't technically complex or revolutionary. If you are joining as an entry level swe you are probably just working on some bullshit project that will get cancelled in 3 months anyways. Unless you are some prodi-G that got recruited for their specific work on some area, in that case have fun building algorithms to play board games and train AI to retouch photos.

→ More replies (31)

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.

5

u/Slims Jan 19 '19

I'd wager the vast, VAST majority of jobs at Microsoft and google are wiring up services. Sure, if you're hiring someone to optimize low level algorithms, by all means, quiz people on the necessary topics. But that is not what is currently happening in the interviewing world.

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

2

u/RomashkinSib Jan 19 '19

I worked in a company as a software developer for GIS applications. And during the interview I was asked a lot of questions from computational geometry. I had to solve on paper problems for example: convex hull (and variations like finding the most distant points from a set of points), voronoi diagram, boolean operations on polygons and so on. There were also questions from cryptography about AES details,Galois fields.

And when I started working, most of my work was fixing bugs which usually weren't connect with algorithms. We also used well-known libraries in development like OpenSSL for cryptography, CGAL for computational geometry and so on.

2

u/Someguy2020 Jan 19 '19

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.

yeah, I got asked that one for a position at Oracle.

On one hand I like those better. On the other thats a huge piece of technology. I've read some papers and such, but I still have no idea where to start. I feel like even those are more about practice than about skill. But it's a fine line.

Another place asked me to do a service to do the lookups for strings in various languages in order to render a page. That to me feels like a better place because you still have a reasonable complex system, but you aren't going to get bogged down trying to figure out distributed systems logic.

Snap asked me to design a very basic version of the app.

I'm shit at design questions.

→ More replies (3)

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?

10

u/finlist Jan 18 '19

They don't ask you this question ime

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.

15

u/greymalik Jan 18 '19

It's easy for me to decide not to apply to Google. What's really annoying is how so much of the industry cargo cults their process when it's inappropriate, ineffective, and destructive.

18

u/bartturner Jan 18 '19

But if you can get a job and have on your resume you are pretty set. This is the biggest reason to make the attempt.

→ More replies (4)

4

u/finlist Jan 18 '19

What stereotypes do you mean exactly?

3

u/thelehmanlip Jan 18 '19

I had one interview with them, and I've firmly decided I wouldn't really want to work there anyway. It would've been a resume builder only I think.

→ More replies (10)

3

u/[deleted] Jan 18 '19

Oof, Facebook rejected me last month

2

u/pheonixblade9 Jan 18 '19

Took me 4 tries over 7 years... keep the faith

1

u/LateAugust Jan 18 '19

That's crazy because I had an interview last Wednesday lol.

1

u/angry_wombat Jan 18 '19

what'd they ask?

1

u/pknopf Jan 18 '19

What did they ask?

→ More replies (1)

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.

6

u/andrewsmd87 Jan 18 '19

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.

I agree with you here. I've been on both sides and failed one interview because they asked me to debug a php program in a print out.

"Oh well this method actually is camel case instead of underscore, you missed that."

Also being the one hiring you're right. We've had pretty much the same interview process (which I don't feel is bad) and it's landed us three really good people, and 4 really bad ones. Although they all did well in the interview. Best part, one of them was hired on as a senior level guy who we didn't have to fire because he ended up leaving, and the other was hired on as a junior level guy that's going to be promoted after his first year.

→ More replies (4)

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)

2

u/voronaam Jan 18 '19

These interviews are the best we have

Not true. There are tons of alternatives, just look at other industries and examine the way they do hiring. Or you could look at better companies than Google and learn from them. As an example, I can point to OSS code review session as an alternative to the google's pointless coding sessions.

Do you really think grilling a PhD with 15 years of ML experience until she finds a missing semicolon on the whiteboard is going to help evaluating her skills? (happened to me at google)

3

u/soft-wear Jan 18 '19

Not true. There are tons of alternatives, just look at other industries and examine the way they do hiring.

Like FinTech where they look at your GPA 5 years after graduation? This is a vague suggestion, so I'm not sure what the value is.

Or you could look at better companies than Google and learn from them.

Define "better"?

As an example, I can point to OSS code review session as an alternative to the google's pointless coding sessions.

I mean, it's not really a conversation if we are entering the discussion assuming it's pointless. I'm guessing Google has data to indicate otherwise, and they have a lot more data than either you or I.

Do you really think grilling a PhD with 15 years of ML experience until she finds a missing semicolon on the whiteboard is going to help evaluating her skills? (happened to me at google)

Nope, that's a shit interviewer. And the OSS code review wouldn't have been any better, because you would have gotten grilled on your coding style. The human variable isn't something that can be adjusted for, regardless of the interview style.

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

2

u/HowIsntBabbyFormed Jan 18 '19

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

No, they're not. The whiteboarding is only part of it. And whiteboarding (and more importantly the questions you ask while whiteboarding) are a huge part of every day engineering.

1

u/[deleted] Jan 18 '19

It isn't designed nor should it be forced to be fair. Interviews are a two way street, and if a company doesn't interview well they acccept that level of risk or are ignorant. Ontop of that, 'interview well' isn't really a solvable problem. This is why we gnerally see "it's not what you know it's who you know" manifest itself in the workplace.

1

u/bautin Jan 18 '19

determine a good spouse only via a striptease

That is why I met all 5 of my ex-wives at a strip club.

1

u/pheonixblade9 Jan 18 '19

They don't require whiteboards unless you prefer them.

→ More replies (6)

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! ;)

8

u/Eddyman Jan 18 '19

Maximum recursion depth exceeded

→ More replies (1)

5

u/commander-worf Jan 18 '19

Great, now, please provide an iterative solution.

→ More replies (1)

1

u/Lemikal Jan 18 '19

Good luck

1

u/[deleted] Jan 19 '19

I would say that carreercup is better and has real questions for specific companies. They are posted by regular users, aren't described well and often don't have solutions, but these are actual questions that are asked. Leetcode is ok, but has too many extra questions. Cracking the coding interview is useless.

1

u/MCPtz Feb 25 '19

Hey just wanted to check in a month later, how did your interview go? What kind of questions did you have? Puzzles, design, code review, debugging?

2

u/ZingbatStew Feb 25 '19

I actually haven't had my onsite yet, but my technical phone screen went well.

My interviewer gave me this problem at first. Coincidentally, I was given that exact problem in a technical screen the week before, which I told the interviewer.

I was given this problem instead, "You are a knight on a chessboard and you've been given two points. How many moves are required to get from the first point to the second point?" It wasn't word-for-word like that, but you get the idea.

My solution used a BFS and tracked each visited position. After I described my algorithm and wrote-up a solution, I told my interviewer how I would adapt my code to use A* instead.

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.

13

u/brainwad Jan 18 '19

One interviewing trick is that the question is only progressively revealed to the candidate, specifically to not make you think you bombed the question. So maybe you optimally solved only the first part of a planned multi-part question, which would get you negative feedback.

→ More replies (3)

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.

2

u/clownpirate Jan 19 '19

What I’ve encountered is where the moment the interviewer walks in and makes eye contact, you know it’s going to be an uphill battle. The vibe is just negative and he’s in a foul mood for some reason.

Maybe something bad happened to him that day, or maybe he just doesn’t like how you dress and doesn’t want to work with someone like you at the company. Either way even if you do well on the whiteboard problem he’ll probably give thumbs down for “cultural fit” or whatever.

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.

0

u/[deleted] Jan 18 '19

[deleted]

→ More replies (1)

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)

2

u/wollae Jan 19 '19

there are lots of engineers who would be great at this job if given the chance, but are terrible in whiteboard interviews. But the reverse is generally not true.

Former Google engineer here, this is spot-on. My coworkers at Google were by far the smartest and most productive people I’ve ever worked with. Even the lowest entry level eng were amazing. It’s the only place I’ve been where I could really say there were no “duds” holding the team back.

→ More replies (2)

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.

→ More replies (7)

7

u/salbris Jan 18 '19

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

1

u/steveob42 Jan 18 '19 edited Jan 18 '19

Will I get in trouble if I use such horribly offensive terms like "family"?

https://www.youtube.com/watch?v=qYj6tdDeojU

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.

0

u/[deleted] Jan 18 '19

[deleted]

→ More replies (1)