Live data from Hacker News

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

twitter.com

581–590 of 683 posts

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

#581
post #120
post #82

Earlier quoted context omitted.

You think like a Google interviewer.

> You think like a Google interviewer. The OP is the type of person that, six months from now would be demanding special treatment because "he wrote Homebrew". Writing a package manager (been done before, a lot of times) is far different from writing machine learning algorithms (new field, blazing the trail for the industry). One requires an engineer, one requires a scientist. The OP flamed out because Google was loo…

>Writing a package manager (been done before, a lot of times) is far different from writing machine learning algorithms (new field, blazing the trail for the industry). One requires an engineer, one requires a scientist.

I mean, a package manager is probably far more rooted in computer science than machine learning (which is basically just applied statistics: software engineering edition).

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

#582

WTF is "inverting a binary tree?". The smattering of search engine results points to some seemingly operation that basically generates garbage by destructively manipulating the tree into a DAG in which the leaves of the original tree are roots, which point downward the parents. The original root node is returned, and still points to its children. Unless you return some aggregate (e.g. list) of all the roots which are…

'Reversing a binary tree' [1] is the more likely actual question.

[1]: http://stackoverflow.com/questions/9460255/reverse-a-binary-...

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

#583
post #360

Earlier quoted context omitted.

In my experience it goes exactly like this just about everywhere: job: here is your macbook pro, welcome! you:

I don't have it installed on my Macs - what am I missing? I write C++ daily on them. EDIT: Seriously, what am I missing that I'd need as a developer? My dayjob is on a Mac Pro writing desktop software and my hobby at night is on a MacBook Pro doing the same; it's on neither machine.

brew is a package manager, I can install a set of applications and libraries that will be kept up to date with a simple command line. If your coding doesn't take you outside of what Apple provide then you are probably not missing anything.

Personally I have the Android SDK and NDK, QtCreator, Qt5, cppcheck, cloc, mongodb, node, wine and others. If you are not using a variety of 3rd party tools to produce/automate your work then you probably don't need to worry.

Having all those kept up to date for me saves me so much time.

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

#584
post #549

Earlier quoted context omitted.

Would a multiply-rooted tree still be a tree? I thought a single root was part of the definition of a tree. Would it instead be a graph? Sorry for the elementary questions. I'm bad at algorithms and just trying to get a grasp here.

At my university it's common to call acyclic, connected graph a tree. We distinguish between rooted and unrooted trees. For example, minimal spanning tree doesn't really have to be rooted, it just has no cycles.

> acyclic, connected graph a tree

This is the graph theoretic definition of a tree.

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

#585
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…

There is no slander in his tweet, he reported the FACT, may be a tad-bit dramatic, but FACT none the less. I just cannot understand why people think, Job seekers should cower down in public in fear not getting a future offer. To the hell with it, speak your mind, live like a boss even it means you make a little less financially, its better than being a rich coward.

The only facts in this tweet are:

- The guy made Homebrew

- The guy interviewed at Google

- The guy was not offered a job at Google after his interview.

Anything else is unconfirmed and, speaking as someone who's thrown quite a few frustrated hyperboles onto the internet, sounds like frustrated hyperbole.

Frustrated hyperbole should not be taken at face value as fact; sometimes there's truth in a smaller version of what's said, but not always.

For example, there is no fact established that Google hired him because he can't "invert a binary tree". In actual fact, we don't know that Google even asked him to invert a binary tree (at least not specifically). It could be that they asked him a question that he thought was as irrelevant as academic datastructure exercises.

And we don't know that his answer was the reason he got turned down either. This is the part of the hiring process (and really any human interaction) that takes the maturity of recognizing that people and their motivations/reasoning are more complex than we reflexively flatten them out to be.

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

#586

To all of those saying ranting on twitter is the wrong move I couldn't disagree more. Twitter is often the ONLY tool that the average person can use to communicate and/or call out large companies on their actions. This is BS and should be made known. Homebrew is an amazing tool and I'd be falling over myself getting the offer papers in this guy's hands if he came to me looking for a job. The fact that google turned h…

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…

Really? In the UK companies are legally obliged to reveal why a candidate did not get a job, if asked... in my understanding.

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

#587
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…

It always surprises me when people like Pacino or De Niro talk about going for auditions - I'd imagine they had a large enough body of work that directors would know what they can do.

But then it occurs to me that they won't have seen them in -this- role acting -this- way for -this- film/play/whatnot and that's what the director needs. And given the amount of money and risk involved, it's probably wise to check first...

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

#588

Number of times I have had to invert a binary tree in my 25+ year career: 0. Number of times I have been asked to invert a binary tree in an interview: 0. What I would do if I had to invert a binary tree: look it up.

So, you can only solve problems that somebody else has solved already?

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

#589

[Ex-Googler here] Truth be told this is a trivial question to be asked during an algo interview and as an interviewer I'd consider this a warm-up. Otherwise it's a rather poor question since either you know how to do it (ie, you have an idea about recursion) or you don't - there aren't too many shades of grey or possible follow-up questions that I can ask to probe the depth of your knowledge. That being said if I ask…

> [Ex-Googler here] Truth be told this is a trivial question to be asked during an algo interview and as an interviewer I'd consider this a warm-up. Otherwise it's a rather poor question since either you know how to do it (ie, you have an idea about recursion) or you don't - there aren't too many shades of grey or possible follow-up questions that I can ask to probe the depth of your knowledge. It is a terrible quest…

> First, you can't invert a binary tree (as in flip upside down). If you did, you'd end up with multiple roots and since all binary trees are rooted, you'd no longer have a binary tree. It'd be a tree, just not a binary tree.

Inversion is a transformation that maps directed graphs to directed graphs. Binary trees are a subset of directed graphs, so applying inversion to them is not unreasonable. That subset is not closed under inversion, so you can get results that are not binary trees, but I see nothing in the question that implies that the interviewer was asking for the output to be a binary tree.

That may even be one of the points the interviewer wants to see the candidate address. Since the output no longer has a single node from which all other nodes can be reached, in addition to just inverting it they may want the candidate to mention the need to have some new auxiliary data structure to keep track of the multiple root nodes (and perhaps note that in the inverted tree each node only has one outgoing link, so if we are inverting in place each has room for two, so we can use that now available second link space to make a linked list of the roots, so we don't need any extra storage for the new root list data structure).

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

#590

Earlier quoted context omitted.

By re-learning computer science concepts you haven't had to use in real life without Googling in a decade.

(I'm at Microsoft, FWIW, every engineering team here does hiring their own way) My team does whiteboard questions, but we try to keep them practical. Typically they are the types of problems that we'd expect new engineers to have to look into on their first day. Oftentimes the questions are less "come up and an answer" and more "let's explore this problem domain and see what we can uncover." As an example, the interv…

I hate to show my ignorance, but why the focus on binary trees? I've been programming for decades, but there are plenty of things I've never touched because I just didn't have a need in the particular job. Binary trees are one of those things.

What I mean to say is, I have tended to use existing libraries that might make use of binary trees, but that I have never had to print or modify them. If modification is necessary, it's always through the library. So while I understand the basic concepts, I'm having trouble understanding why it would be a useful interview question.

Do developers at Google and Microsoft actually manipulate binary trees on a daily basis? Like, ALL of them? I can understand that they would be a common thing in the bowels of some code, but surely not all developers in either company would run into them on a regular basis?

Post reply on HN