Live data from Hacker News

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

twitter.com

401–410 of 683 posts

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

#401
post #397

Earlier quoted context omitted.

> At a certain point, your resume should speak for itself. IIRC, a Portuguese proverb states that paper accepts whatever is written on it. One should always take a self-assessment with a grain of salt.

He self-assessed writing Homebrew?

"Self-assessed" as a resume speaking for the candidate.

Without running a `git blame`, the interviewer cannot say how much of the code is from the author and how much is contributed by someone else and even then asking questions is an important part of any interview.

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

#402

Earlier quoted context omitted.

I think you want to think that way, that whiteboard interviews have a shred of competency about them. I bet you dollars to doughnuts though 9/10 times a company will hire someone who can regurgitate algorithms rather than an eccentric who can't get them right but thinks really cleverly.

It seems this criticism is of the interviewer making a poor decision based on missed/incorrect observations, not with the whiteboard interview itself. Whiteboard interviews might miss eccentrics who can't express their clever thoughts verbally or visually, but it can depend on how tuned in the interviewer is to these eccentricities or how much value their team puts on expressive skills. Algorithm/data structure inter…

I've never answered it wrong and gotten hired for my "thought process" even if I was close. I had to fart around on my own for another ~15 minutes to fix my bugs to make it work. But it seems they just want a guy who memorized it and pretends to discover the perfect solution on the first try.

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

#403

Earlier quoted context omitted.

My main complaint with the tweet is that it's almost certainly speculation. 1) Most companies (for legal reasons) don't tell candidates why they weren't offered a job. Maybe it was because of the binary tree question, but maybe it was for some other reason. 2) Homebrew is a Mac-only product, so the likelihood that 90% of Googlers use homebrew is very low. Moreover, Google does not track the software its employees dow…

> 1) Most companies (for legal reasons) don't tell candidates why they weren't offered a job. Maybe it was because of the binary tree question, but maybe it was for some other reason. So when I was declined at Google I knew people who worked for Google. One looked up my profile in whatever system they used and the other simply asked the interviewer why. OP may have done the same but as you say it's unclear either way…

The tweet starts out: "Google: 90% of our engineers...", which implies that this is information Google told him.

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

#404
post #271

Earlier quoted context omitted.

I have no idea what the job was. But my point is this is not a bureaucratic gotcha question. If you can't do this task, you don't really know how to program well. Sorry but that's just how it is. It's like failing FizzBuzz. There is this culture of crappy software that has happened lately, especially in the Web world, and it is really quite lamentable. I believe that a very large positive impact would be made on the…

Note that "invert" in this context is fairly ambiguous. I suspect the interviewer meant reverse, which is, I agree, utterly trivial. I, and apparently many others in this thread, spent some time trying to ferret out an answer to what it would mean to invert a binary tree: at first thought it would imply a collection of nodes all pointing at their parents, which seems not very useful (and would require more than 10 li…

The question is definitely not described in sufficient detail. That's usually on purpose. The interviewer WANTS the candidate to realize that too and ask the questions necessary to actually understand what they are trying to solve. It's very analogous to nailing down specifications on a new feature or something like that.

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

#405

Earlier quoted context omitted.

This is not about numbers. A bad hire can easily cause more friction than if nobody was hired at all. Net effect for the business is negative. You're also probably severely overestimating the likelihood of a bad hire going through.

Bad hires can be fired. Bad rejections poison the well for hiring the good candidates who never apply because of hearing about all the bad rejections.

Bad hires can be fired.

But the cost and other effects of doing so vary significantly depending on where you are. Most of the US may have at-will employment, but much of the rest of the world does not.

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

#406
post #83

Earlier quoted context omitted.

Honestly, is reversing a binary tree something you need to memorize? I assume that's what he/she means by "invert".

Rambling weirdness stream of consciousness, but, yeah you might well be right... how hard can it be to reverse a binary tree? Isn't the "real" solution to sound out the solution as you go, and let the interviewer know what you're thinking? I've never attempted to do this before, and my compsci is real weak, to the point where I'm going to make an educated guess about what a binary tree even _IS_ so... Let's start wit…

It can't be just mirroring, because there's the obvious zero-op solution because "left" and "right" don't actually mean anything except when you're visualizing it for humans:

  struct NormalNode {
    int value;
    struct NormalNode *left;
    struct NormalNode *right;
  };

  struct ReversedNode {
    int value;
    struct ReversedNode *right;
    struct ReversedNode *left;
  };

  struct ReversedNode *reverseTree(struct NormalNode *root) {
    return (struct ReversedNode *)root;
  }
There. Now left is right and right is left.

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

#407
post #271

Earlier quoted context omitted.

I have no idea what the job was. But my point is this is not a bureaucratic gotcha question. If you can't do this task, you don't really know how to program well. Sorry but that's just how it is. It's like failing FizzBuzz. There is this culture of crappy software that has happened lately, especially in the Web world, and it is really quite lamentable. I believe that a very large positive impact would be made on the…

I've never inverted a binary tree (I'm not familiar with the concept). You claim that makes me a bad programmer. Be careful there: just because somebody hasn't been exposed to something doesn't mean they aren't smart enough to figure it out. Fizz buzz is also flawed in this way: it doesn't test if you know how to program, it merely tests "have you been exposed to the modulo operator yet".

No one is claiming that makes you a bad programmer. However, if you got this as a problem to solve and your response is "I don't know" and you stop there, then you are a bad programmer. As I've commented elsewhere, the interviewers want you to ask clarifying questions. Those are often just as important as the code itself. Once you've nailed down the definition of inverting a binary tree (maybe it's just switching left and right node pointers), coding will be trivial. It's much like getting sufficient detail on a feature request before starting to work on the feature.

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

#408
post #70

Has no one stopped to question what Google may have been looking for in a candidate? The OP has written some great apps, sure, but there is a huge difference between writing a package manager for Mac (among other Mac/iOS apps and utilities) and writing incredibly complex, highly performant algorithms for say search indexing, machine learning, ai, etc... In that context, knowing CompSci basics like Binary Trees (usual…

I didn't agree with you at first.. but after thinking about it I think you're absolutely right.

Getting rejected from one interview at Google isn't the end of the world. The right and mature thing would have been to go home and figure out the problem that you got stuck on.. and then try again. We all go through this process, why should we expect anyone else to get a free pass?

I recently watched an online game of chess between a grandmaster and an anonymous individual.* The grandmaster got caught off guard and got lured into a trap. Instead of getting defensive, he sincerely thanked the other individual for a great game and spent the next few minutes after discussing the intricacies of the trap.

Shouldn't someone as accomplished as the creator of Homebrew feel the same way about a problem he got stumped on?

* https://www.youtube.com/watch?v=Voa9QwiBJwE&feature=youtu.be...

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

#409
post #397

Earlier quoted context omitted.

He self-assessed writing Homebrew?

"Self-assessed" as a resume speaking for the candidate. Without running a `git blame`, the interviewer cannot say how much of the code is from the author and how much is contributed by someone else and even then asking questions is an important part of any interview.

So what's stopping them from running git blame?

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

#410
post #225

Earlier quoted context omitted.

Maybe you're just not doing serious programming. Most people I know implement data structure searches quite often. If you're writing scripts, or JS code for web pages or something like that, then maybe you don't use CS stuff, but ... are you able to write a web browser if you had to? Are you able to write an operating system or navigational software for a spacecraft? If not, then maybe just see this as revealing sect…

> Maybe you're just not doing serious programming. Most people I know implement data structure searches quite often. Wow. Really? Most serious people I know use other people's implementations that have already been highly optimized and well tested because they have better shit to do than reinvent the wheel. I suppose if you want to write your own red-black tree from scratch, that's your prerogative. The last time I d…

In many performance-programming situations you are subject to constraints that prevent use of a general solution or else makes use of a general solution massively inefficient.

For example, your data structure is on the GPU and your data is in a texture in a certain specific format because of other reasons.

If you wrote the above reply without considering this kind of case, it probably means you haven't been exposed to very much of this kind of case ... ... which was my original point.

Post reply on HN