Live data from Hacker News

Google: 90% of our engineers use the software you wrote (Homebrew), but...

twitter.com

201–210 of 683 posts

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#201
post #15

At a certain point, your resume should speak for itself. The fact that experienced engineers with impressive resumes are put through these types of interviews is insulting and frustrating to the interviewees. Succeeding at these whiteboard questions requires weeks of preparation. You need to practice, practice, practice. After enough practice, you are pretty likely to pass. So ultimately, it is more of a test of "how…

I would agree with what you said if you replaced resume with reputation. Anyone can fill out a nice resume.

One of the challenges with Google's interview process [0] is they are very worried about hiring mistakes, and also know that the process is very noisy. As such, they interview a tremendous amount of people for hiring. In addition, they've found it more efficient to just keep a high bar (missing many good hires to keep out 1 bad hire) than to conduct more than 5 interviews.

The one thing I've wonder is - if they want the top 100 computer scientists in the world to work for them, will this process produce that? Or is there another process for them?

I think the most effective way to get a job there is to build a small company and get acquihired.

[0] I don't work at Google, but I've researched the process in anticipation of an interview.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#202
post #104

Earlier quoted context omitted.

I don't necessarily agree though, I think if you can reason about a problem, you are infinitely more valuable than someone who memorizes problems and just applies them blindly. Correct me if I'm wrong, but a binary search tree is a very simple data structure. It has rules, and just by it's definition, and the definition of "inverted", you should be able to come up with an iterative solution, even if it's just walking…

Typing "how to reverse a binary search tree" into google is not the same thing as solving a problem. If these problems were so reliant on individual problem solving ability, there wouldn't be dozens of books with reams of answers to these questions on the market. These questions test memorization and nothing else.

I mean, that's a little strong. My undergrad degree is in math, so I would be thrilled if I was sitting in an interview and was being asked questions like that instead of stuff about how computers actually work.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#203

Earlier quoted context omitted.

"that day they might've interviewed 10 people better than him who just didn't make a popular tool" Are you judging this on their ability to invert a binary tree? People here are ranting about having a problem with interview practices not representing whether or not you are good at your job. That's presumably (IMO) why the tweet was posted.

the tweet is made to trigger that discussion. but you can rephrase the tweet to something like: even though I made a popular tool, I didn't get a job at Google because I'm not good at other things they need. Google probably has a lot of factors counted into the final decision, including algorithm skills, other software engineering skills, human skills, contributions to open source projects. It's never 1 reason why yo…

because I'm not good at other things they need.

It's not that you're not _good_ at it, but you're not able to demonstrate under time constraints, lack of references, lack of iterative code/compiler/REPL feedback, and while being stared down by someone whose default mindset is "why am I wasting my time on this person?"

It's never 1 reason why you get rejected, it's the total score.

That depends on how far down the interview process you are. Often they'll cut you off at a phone interview if you stumble. Sometimes they'll cut in-person interviews short if they think you're not worth it. So, they don't always get a "total score" to judge against. It's often just summary judgement off subjective feelings.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#204
post #104
post #15

At a certain point, your resume should speak for itself. The fact that experienced engineers with impressive resumes are put through these types of interviews is insulting and frustrating to the interviewees. Succeeding at these whiteboard questions requires weeks of preparation. You need to practice, practice, practice. After enough practice, you are pretty likely to pass. So ultimately, it is more of a test of "how…

I don't necessarily agree though, I think if you can reason about a problem, you are infinitely more valuable than someone who memorizes problems and just applies them blindly. Correct me if I'm wrong, but a binary search tree is a very simple data structure. It has rules, and just by it's definition, and the definition of "inverted", you should be able to come up with an iterative solution, even if it's just walking…

It depends how your interviewer is ranking/scoring you. One interviewer might be impressed with your ability to talk through and solve the problem from first principles, where another might ding you for not instantly knowing the answer. The former type of interviewer would be happy to give you hints and prompts, the second is a stone wall. I try to be the first -- it helps assess how a candidate responds to coaching too! -- but there's a spectrum between "nudging" and "telling them the answer straight out".

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#205

Earlier quoted context omitted.

Devil's avocado: if they're truly CS fundamentals, then they should be baked into you good and deep during the course of your college education. It shouldn't be painful at all.

I took CS 101 classes almost a decade ago, and since then, I have never once needed to write a binary search tree outside of an interview. I think "CS Fundamentals" are really just "abstract concepts used to teach programming", and calling them fundamentals is disingenuous.

CS fundamentals like BSTs are definitely not used to teach programming--things like video game projects are--they're used to teach algorithm design and analysis. CS is an academic science, it's not a technology trade.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#207

Earlier quoted context omitted.

"that day they might've interviewed 10 people better than him who just didn't make a popular tool" Are you judging this on their ability to invert a binary tree? People here are ranting about having a problem with interview practices not representing whether or not you are good at your job. That's presumably (IMO) why the tweet was posted.

the tweet is made to trigger that discussion. but you can rephrase the tweet to something like: even though I made a popular tool, I didn't get a job at Google because I'm not good at other things they need. Google probably has a lot of factors counted into the final decision, including algorithm skills, other software engineering skills, human skills, contributions to open source projects. It's never 1 reason why yo…

I am speaking from personal experience here, they don't count a lot of factors while rejecting a candidate, you make one mistake on their particular set of questions, you are out. They don't even look at your resumes until all your 4 interviews are completed. However, selecting a candidate is a different matter, in that decision they might consider everything.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#208

Earlier quoted context omitted.

"that day they might've interviewed 10 people better than him who just didn't make a popular tool" Are you judging this on their ability to invert a binary tree? People here are ranting about having a problem with interview practices not representing whether or not you are good at your job. That's presumably (IMO) why the tweet was posted.

the tweet is made to trigger that discussion. but you can rephrase the tweet to something like: even though I made a popular tool, I didn't get a job at Google because I'm not good at other things they need. Google probably has a lot of factors counted into the final decision, including algorithm skills, other software engineering skills, human skills, contributions to open source projects. It's never 1 reason why yo…

Disagree, this is not some PR campaign of a corporate drone, a real person felt frustrated with the process of hiring in Google. Is it to instigate debate on HN, I doubt it. He is just venting out, that his body of work which is public is effectively ignored in favor of a pedantic exercise.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#209

Earlier quoted context omitted.

Think of the problem from Google's perspective though. At some point, you have tens of thousands of candidates and you need a system to quantify how good they are. Further, it's reasonable to have false negatives (people you don't hire that should have been hired) but really bad to have false positives (people that you hire that you should not have). Together, these boil down into the de facto whiteboarding interview…

If only whiteboarding interview processes actually weeded out false positives. In practice, they select for people with good memorization skills. If you can remember the details on a ten dozen different algorithms and data structures, you can pass one of these without having a single lick of creativity or skill. I say this as an employee who has worked alongside many unskilled drones who made it past the algorithmic…

That's not what the interview process is like at all.

They're more interested in how you approach real world issues (the questions I got asked were conceivably real-life issues a company like Google would face with its products). If you can solve that issue by applying efficient and well understood data structures and algorithms, then that indicates you understand the problem space and solutions that may apply.

It's not like they get you in a room and ask you to draw a linked list or a binary tree.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#210
post #47

What does it mean to invert a binary tree? I'm not familiar with this operation on binary trees. Does it mean to swap parents with child nodes? Or to swap siblings?

In this case, it means to reverse the binary tree, so that you get the largest item by iterating down the left branch to the bottom of the tree. You would do this by breadth-first scanning the tree, swapping the left and right pointers as you go.

Oddly enough, Google shows me interview questions where "inverting a binary tree" means something quite different — for example, flipping it upside down, and making the left leaf the root, the right leaf the left leaf and the root the right leaf.

If this was really about "reversing" the tree, as you mention, the question seems more likely to address how the candidate approaches the situation. Like, he should start by making sure they both agree on what the question actually means.

Once that's out of the way, it seems relatively easy to come up with a naive solution, without having memorised any algorithms. It seems more like a case of brainfreeze to me, which can be sort-of fixed with practice (which in turn many candidates refuse to do: the dreaded "If I have to cram for the interview, I don't want the job" statement.)

So maybe he really wasn't a good fit for Google, despite apparently being a rockstar developer. Hey, startups need rockstar devs too.

Post reply on HN