Live data from Hacker News

How Effective are Technical Interviews?

jeanhsu.com

101–110 of 114 posts

Re: How Effective are Technical Interviews?

#101

Earlier quoted context omitted.

> and the Javascript question was to test whether you've ever done anything numerical in JS. It's a lousy test, then. The fact that someone can't tell you the answer to that question, off the top of their head under interview conditions, might mean they are a newbie claiming to know languages they really don't. However, it could also just mean that they have experience with several dynamically typed languages but, si…

> since they would never write something daft like '4'+4 The question is an artificial simplification. They don't care about that literal construct. They care if you know what the + operator does on strings vs. numbers and what the implicit type conversion rules of the language are (and what the resulting 'gotcha' is). No one is worried about you literally writing '4'+4. They are worried about you writing foo + bar a…

> They are worried about you writing foo + bar and being sloppy about the types of your variables.

In that case, perhaps a better question would determine whether the candidate understood that in a dynamically typed language, variables don't have types, values do...

Re: How Effective are Technical Interviews?

#102
post #61

Earlier quoted context omitted.

But does that perceived gap mean that your technique is actually better for the company? I'm seeing a false dichotomy here where those who can talk about code can't write it, and those who can write code are inarticulate. I have a nagging feeling that being "terrified of...conversations" supplies a bit of confirmation bias to your technique.

Where do you see tptacek implying that those who can write code can't talk about it? He's merely telling us that being able to talk about code doesn't always imply being able to actually produce code.

"It's fine to hire someone who can reason through and discuss solutions... as long as you're also going to hire someone who will write the code for them."

Re: How Effective are Technical Interviews?

#103

Earlier quoted context omitted.

In my experience, people start complaining that an interview is "theory-heavy" at about the point that you expect them to know when and how to use a binary tree. Binary trees are not hard-core CS theory, they are freshman Intro to Data Structures. They are a very basic tool (almost) every programmer should be familiar with. Moreover, when I ask candidates questions about data structures and algorithms, while it's nic…

Binary trees are also something you will never need to know about in 99.9999% of real world programming situations, especially if you're using a sufficiently high-level language. In the real world, there are thousands of other factors, tasks and considerations on your plate other than having to figure out exactly how to manually create a binary tree or even think about it. It's one tiny thing in a sea of issues. Spea…

I don't generally ask people to implement a binary tree. I ask about what data structure is appropriate to use in certain situations. I.e., do you understand the performance characteristics of basic data structures and enough about how they are implemented to realize why certain tasks are very inefficient if you use the wrong one.

Re: How Effective are Technical Interviews?

#104
post #97
post #53

Earlier quoted context omitted.

and watch them code something You may find http://www.interviewzen.com/ useful. It's a hiring tool I'm building around the idea that you can tell a lot about someone's coding ability by seeing them in action.

Ha! I had this exact same idea not long ago, that's interesting. Have you talked to (potential) customers? I've had multiple times questions like "what's the advantage over google docs/screen sharing?" (which is free).

Feedback has been very positive so far - customers are finding it makes the initial screening process much easier. One advantage over Google Docs is the ability to do time-shifted interviews, making it a good first filter for job postings.

Feel free to drop me a mail and we can chat further.

Re: How Effective are Technical Interviews?

#105

Earlier quoted context omitted.

> since they would never write something daft like '4'+4 The question is an artificial simplification. They don't care about that literal construct. They care if you know what the + operator does on strings vs. numbers and what the implicit type conversion rules of the language are (and what the resulting 'gotcha' is). No one is worried about you literally writing '4'+4. They are worried about you writing foo + bar a…

> They are worried about you writing foo + bar and being sloppy about the types of your variables. In that case, perhaps a better question would determine whether the candidate understood that in a dynamically typed language, variables don't have types, values do...

I realize you are trying to make some sort of "Aha! You don't know what you're talking about!" point here, but in practice taking advantage of the fact that you can store multiple types of values in the same variable in a dynamic language is almost always a bad idea and subjects you to exactly the sort of bugs that this question is bringing to light. So, enjoy your sense of superiority because I made a slight mis-statement. The point that the question is phrased for simplicity as a concrete example, in order to see if you are aware of certain general facts, stands.

Re: How Effective are Technical Interviews?

#106
post #78

Earlier quoted context omitted.

Share them, it might make someone feel smart today. ;)

Sure. They really are super simple. FizzBuzz is simple, but my min bar is a question that no one should miss. Even someone with anxiety should get them right. In theory I could see a good dev getting FizzBuzz wrong or getting flustered. Since I use this as an absolute "no hire" bar it has to be pretty low. Count the number of occurrances of the letter 'a' in a string. And I'm upfront that this isn't meant to be a tri…

In java: public int nth_fibbonacci(int n) { if (n == 0 || n == 1) return 1; return nth_fibbonacci(n-1) + nth_fibbonacci(n-2); } //Would you accept that as a valid response even though it is terribly inefficient? It's what I came up with in 5 minutes.

Re: How Effective are Technical Interviews?

#107
post #75
post #20

I put tech interviews down fifty/fifty to "We don't know any better way of doing this" and "The unavoidable reality is that if a position is advertised openly then 98% of candidates are screamingly inappropriate for it and after applying a few filters to the resume we've gotten that to a more manageable 90% or so for interviews." Happily, there is a simple opt out mechanism. There are two ways to get into any company…

I consider the existence of door #2 a red flag. If decision makers who are likely not technical themselves are making that kind of decision about technical hires, odds are that they are going to make some very bad hires that I won't like living with. That's not to say that there aren't a lot of companies where your advice works. But I'd prefer to work for the companies where it doesn't.

I would suspect that "door #2" is most useful in the (more common at large companies than small?) case where a technical lead of some sort has a position on their team they want to fill, and HR is a barrier between them and the engineer(s) they want to bring on board.

Re: How Effective are Technical Interviews?

#108
post #106

Earlier quoted context omitted.

Sure. They really are super simple. FizzBuzz is simple, but my min bar is a question that no one should miss. Even someone with anxiety should get them right. In theory I could see a good dev getting FizzBuzz wrong or getting flustered. Since I use this as an absolute "no hire" bar it has to be pretty low. Count the number of occurrances of the letter 'a' in a string. And I'm upfront that this isn't meant to be a tri…

In java: public int nth_fibbonacci(int n) { if (n == 0 || n == 1) return 1; return nth_fibbonacci(n-1) + nth_fibbonacci(n-2); } //Would you accept that as a valid response even though it is terribly inefficient? It's what I came up with in 5 minutes.

Yep, that would work.

Re: How Effective are Technical Interviews?

#109
post #86

Earlier quoted context omitted.

How did people cheat? It seems like if you ask them to create or solve something that hasn't been done before they'd have to figure it out. Of course they could get someone to write the code for them but A. You can catch that by reviewing the code with them and asking questions and B. If they can get someone to write good code for them And then review that code to make sure it's good you might want to put that person…

They could have posted the question onto a site like stackoverflow.

I still don't think a person could intelligently discuss his solution if it was handed to him like that.

And not that I'd advocate hiring a "cheater", But if all the tools he uses to "cheat" eg google, stackoverflow will also be available to him during actual work, it's always possible he could still get the work done.

Re: How Effective are Technical Interviews?

#110

Earlier quoted context omitted.

> They are worried about you writing foo + bar and being sloppy about the types of your variables. In that case, perhaps a better question would determine whether the candidate understood that in a dynamically typed language, variables don't have types, values do...

I realize you are trying to make some sort of "Aha! You don't know what you're talking about!" point here, but in practice taking advantage of the fact that you can store multiple types of values in the same variable in a dynamic language is almost always a bad idea and subjects you to exactly the sort of bugs that this question is bringing to light. So, enjoy your sense of superiority because I made a slight mis-sta…

Apologies if the similar wording came across as some sort of personal jibe. I was merely trying to point out that even if the question was a simplification as you said, it was still a poor way to assess a candidate, because it's still getting hung up on a technicality rather than determining whether the candidate understands the underlying issue.
Post reply on HN