Live data from Hacker News

Inverting Binary Trees Considered Harmful

jasq.org

81–90 of 225 posts

Re: Inverting Binary Trees Considered Harmful

#81
post #11

Yeah I remember the Google interview a few years back. I did it mostly for fun, and because their recruiters kept contacting me. So there we were, building a tree out of a forest of existing smaller trees or such. That was after they couldn't find my resume, and used a 5 year old one they found some place. They seemed annoyed and tired. By that time I felt nothing short of me proving P!=NP would have help changed the…

They don't start looking at your resume or asking what you have been up to until you pass the technical interviews. Which means that if you resume or experience isn't up to snuff, the interviews are a complete waste of time for you because of a decision that takes them five minutes to make.

Re: Inverting Binary Trees Considered Harmful

#82
post #68

Earlier quoted context omitted.

Yeah I don't think OP was defending Twitter I think it was just more of a story about how crappy the interview process is at most tech companies. My experience with Twitter was really odd. I knew someone internal and had them directly submit my resume with a recommendation. The resume was tailored for exactly the position they wanted showing me besting all of their requirements. I got an email 4 months later telling…

It's possible the position was filled, so some hiring manager just cleared the queue.

Good point; never really thought about that. I just found it odd because their email response actually gave me a reason stating my resume didn't have enough experience for the position when it far exceeded everything they wanted for the position.

Re: Inverting Binary Trees Considered Harmful

#83
post #72

This passage gives me a good idea: The OPower guy said they had a ton of problems where they will be using Scalding, so I asked him what they are doing in its absence. He said Oh we pojo it. Then he said pojo this and pojo that, and soon I was drowning in pojos, so I asked, Sorry, what exactly is a pojo ? Now, bear in mind I am a Scala programmer and haven't touched Java in ages, and they knew that. Their whole pitch…

pojo is a common term for java devs, at least any who have been molested by spring

It's also seen some use in the Javascript community as well (though not nearly as common).

Re: Inverting Binary Trees Considered Harmful

#84
post #72

This passage gives me a good idea: The OPower guy said they had a ton of problems where they will be using Scalding, so I asked him what they are doing in its absence. He said Oh we pojo it. Then he said pojo this and pojo that, and soon I was drowning in pojos, so I asked, Sorry, what exactly is a pojo ? Now, bear in mind I am a Scala programmer and haven't touched Java in ages, and they knew that. Their whole pitch…

pojo is a common term for java devs, at least any who have been molested by spring

Never heard of spring, never heard of pojo. Specialized in C/C++, STL, Boost, OpenGL and GLUT, GLx... over the decade have only found interviews for Java jobs. Have tried to learn Java, used them a jobs where none of my bosses knew it or cowokers could spend time talking to me about it. Still, I can only get interviews of Java jobs because that is the only work experience on my resume. Why are we all so screwed?

Re: Inverting Binary Trees Considered Harmful

#86
Twitter interview went sideways, I got one shot with a question (that I won't share) that required finding Hamiltonian path in a tree, over the phone of course. I am not sure what is the mindset of the interviewer.

I am hiring engineers (systems, software and security) in the last 5 years, got trained up on recruiting by Amazon, so I would say I have a pretty good understanding on hiring.

The right approach with these interviews to find out the best of the candidate. In order to achieve that you always start with simple questions like what is a variable, what sort of data is out there, do you use version control etc. After that you switch gears.

On the subject of inverting binary trees on a whiteboard. Is this the core of your business? How many times did you need to do that last week? If it is irrelevant for your daily operations than why are you asking this question?

The problem is that (especially companies like Google) like to hire Stanford graduates and those guys think after being in the job for few months that the best way on interviewing is to measure how well the candidate would have done during the last semester in theoretical CS class at the university. While we probably all know that running a service for millions of users in production in a distributed environment requires many other skills that are not represented too much in the interviews, yet this is what you can run into during the interview loops.

I think at certain extent this is known to the Google recruiting team and they are ok with it. The way to beat the interview is to read books like Cracking the Coding Interview and train up extremely well on those trees and search algos and all, if you are really committed to work there. There are several very senior guys turned down by Google simple because they failed one or two of these ridiculous questions.

I think the last incident kind of a good example of this:

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

Now I get back to my read about how the heck I am inverting a binary tree.

Re: Inverting Binary Trees Considered Harmful

#87
post #54

I'll be the contrarian and claim that inverting a binary tree is a perfectly reasonable interview question. (Although not anymore now that it's famous). It combines basic background knowledge (what is a binary tree and how is it structured?), ability to reason logically (binary tree algorithms are often recursive, "inverting" a tree with no children is a no-op, otherwise you want to swap the children, and the childre…

I don't get the obsession with binary trees questions on interviews. I've had several in a couple different interviews. You know how many times I've coded a binary tree algorithmn, in 15 years as a professional programmer? Zeeeeero. They just aren't that common in actual code. Why not ask questions about, say, working with a general tree data structure, like XML or an HTML DOM? That's something that comes up all the…

http://www.joelonsoftware.com/articles/GuerrillaInterviewing... There were earlier versions of that article as well. Joel kinda popularized the notion of those kind of problems

Re: Inverting Binary Trees Considered Harmful

#88

This passage gives me a good idea: The OPower guy said they had a ton of problems where they will be using Scalding, so I asked him what they are doing in its absence. He said Oh we pojo it. Then he said pojo this and pojo that, and soon I was drowning in pojos, so I asked, Sorry, what exactly is a pojo ? Now, bear in mind I am a Scala programmer and haven't touched Java in ages, and they knew that. Their whole pitch…

POJO stands for "Plain Old Java Object" and it is a somewhat common term.

http://en.wikipedia.org/wiki/Plain_Old_Java_Object

The term was coined by Martin Fowler, Rebecca Parsons and Josh MacKenzie in September 2000:[1]

"We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely."[1]

Re: Inverting Binary Trees Considered Harmful

#89
post #37

Fact is, it just isn't true. As a Googler, I am surrounded by enormously talented engineers, the likes of which I rarely encountered on the outside. They love what they do, and it shows. I have no doubt that there are false negatives/positives, but I am convinced that Google is doing something right.

I think we do very well at hiring the sort of people who already work at Google. The false positive rate seems to be very low, and the people I work with mostly seem very happy (I know I certainly am).

The false negative rate worries me, though, and I keep wondering if there's a way I could structure my interviews (and feedback) differently to help change that problem.

Re: Inverting Binary Trees Considered Harmful

#90
post #74
post #50

Earlier quoted context omitted.

I was told by someone many years ago to always take a copy of my resume with me to an interview. That advice has paid off a couple of times. These days I also keep an email draft ready to send.

While that's good advice, I don't follow it. If a company doesn't have their shit together enough to coordinate an interview schedule and get the right people into the right room at the right time with my resume in their hands, ideally in their hands ahead of time, I don't want to work there. It's a basic competence test.

One reason bringing your resume is a good idea is because scumbag recruiters sometimes modify your resume, inserting the right keywords to get you the interview in the first place.
Post reply on HN