Live data from Hacker News

I Don't Want to Hire You If You Can't Reverse a Binary Tree

thecodebarbarian.com

111–115 of 115 posts

Re: I Don't Want to Hire You If You Can't Reverse a Binary Tree

#111
post #97
post #84

Earlier quoted context omitted.

Because realistic problems tend to be far bigger than the small, fundamental building blocks.

That's a really big obstacle, but it's not insurmountable. My companies often ask if the candidate is willing to be a contractor for a couple of weeks. If they're not currently working, it gives them some income to continue the job search, and it allows us to see what it's like working with them. I can usually tell that someone is unacceptably bad within a few days of working with them, so it makes sense to do those…

Imagine you have one position, and 15 people were screened for an interview. What would you do with 15 contractors? Even if you run a Microsoft department it would not make much sense.

Trivial problems are a good filter, as long as you manage to maintain a non-stressful interview environment. Whiteboard coding is a good thing, because it shows that one really understands things, not just memorised keystrokes.

Doing about 80% of my work on a piece of paper, I cannot really comprehend all the moaning about whiteboard being "detached" from anything practical.

Re: I Don't Want to Hire You If You Can't Reverse a Binary Tree

#112
post #96

Earlier quoted context omitted.

I'm actually not annoyed nor do I misunderstand why people are sighing. Your emotional appeal does not hold much weight when faced with real business practices of hiring "the best" that every organization is going to strive for. I'm somehow a poor boss to work for because I told the OP his sighing is obnoxious? It is. It feigns authority and condescends the entire post for being so dumb he has to sigh at it. While yo…

> I'm actually not annoyed Calling people obnoxious makes it sound like you were annoyed. > Your emotional appeal does not hold much weight when faced with real business practices People are highly emotional. Emotions explain the way people behave far better than logic does. Hiring is partially a process of selling a product (employment) to a customer with lots of options (the "best"). If you don't consider the emoti…

> Unfortunately, people don't necessarily like being test subjects in high-pressure situations.

And yet somehow they love to play highly stressful, challenging video games and love to be ranked against their peers. Something to think about, is not it?

Re: I Don't Want to Hire You If You Can't Reverse a Binary Tree

#113
post #96

Earlier quoted context omitted.

> I'm actually not annoyed Calling people obnoxious makes it sound like you were annoyed. > Your emotional appeal does not hold much weight when faced with real business practices People are highly emotional. Emotions explain the way people behave far better than logic does. Hiring is partially a process of selling a product (employment) to a customer with lots of options (the "best"). If you don't consider the emoti…

> Unfortunately, people don't necessarily like being test subjects in high-pressure situations. And yet somehow they love to play highly stressful, challenging video games and love to be ranked against their peers. Something to think about, is not it?

If the reward of a video game were a job, and the penalty was being unemployed for, let's say, 2 more weeks, people would not play video games the same way they do now.

Artificial pressure and competition is enjoyable, just as roller coasters are enjoyable but riding a swaying bus on a mountain road without a guard rail is not.

Re: I Don't Want to Hire You If You Can't Reverse a Binary Tree

#114
post #68
post #62

Earlier quoted context omitted.

Doing it on a whiteboard is an academic computer science problem. Doing it on a computer is more along the lines of a software engineering problem, though still it is largely academic and counter to one of the tenets of good software engineering (that all code is a liability, and thus new/non battle tested code should be avoided whenever possible).

I wouldn't solve all car engine problems by completely replacing the engine, but if I was hiring a mechanic I'd want to verify he could replace the engine if needed.

If you were hiring a mechanic, why would you test them on their ability to design engines?

Re: I Don't Want to Hire You If You Can't Reverse a Binary Tree

#115
post #80
post #54

Earlier quoted context omitted.

So this article leads off with @mxcl's tweet about google not offering him a job because he wasn't able to reverse a binary tree on a whiteboard . I don't think that being able to describe an algorithm you haven't had to implement in more than decade (at least, that would be the case for me, college is starting to be a long time ago for me). Honestly right now, without looking up the answer, I probably can't reverse…

Deriving trivially provable algorithms in a test-driven way, by trial and error, hoping that no edge cases are missed? Sounds really, really depressing. The future of software engineering is very bleak if this approach is a new norm.

My point was that I would start by test driving to "dust off the cobwebs", as it were.

Personally, I don't actually believe in truly "mindless", trial and error TDD, as oftentimes it will miss the forest for the trees.

Amusingly now, three days later, I'm certain I could do this nonsense on a whiteboard now, as thinking about it three days ago seems to have primed my subconscious to dig it up.

Post reply on HN