Live data from Hacker News

How Effective are Technical Interviews?

jeanhsu.com

41–50 of 114 posts

Re: How Effective are Technical Interviews?

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

Great answer, as always. However, it addresses the problem only from the point of view of the hiree. For companies looking to hire people, the typical interview process is equally a problem. I think the "dating" process described by the OP sounds like a good solution for the hiring company. It's also a good signal to the employee that the company is serious about hiring the best, using the best methods.

The "dating" process only works when both parties are available. If the candidate currently has a job asking them to take time off (or worse, quit without a guaranteed offer) is asking a lot.

Re: How Effective are Technical Interviews?

#42
post #29
post #22

Earlier quoted context omitted.

I had to lookup what itoa is not being a C programmer. Which got me interested - how would you implement this? My inital thought is to do something like (in pseudo code): str = ''; while (i > 0 ) { # least significant digit r = i % 10; # throw away the least significant digit i = i / 10; case when r = 0 then str = '0' Would I pass with that? Is there a better way?

Well, itoa() stands for "integer to ASCII". You can use the property of sequential numbers (starting at 0x30 in ASCII table) to avoid the case statement.

Good point, I actually thought of doing that and then dismissed it. Maybe the best perfoming way would be to use the remainder as the index to an array (suggested in another comment)?

Re: How Effective are Technical Interviews?

#43

I have found that for technical interviews, the following pattern works very well (hiring side): 0. Explain to the candidate this algorithm and why. It isn't magic, there are no right or wrong answers, just testing "fit". This is a case where foreknowledge does not change the outcome! 1. Get a basic grasp of technologies both interviewer and candidate have in common, via say, just chatting. This is vital -- find an a…

This method has made me remember an old interview (1998) and smile.

The interviewer started explaining what I'd be working on. In a few minutes it wasn't an interview anymore, but a free consulting session. He clearly forgot why we were there and even started to take notes!

I was offered the job, but later refused because another offer was better.

Re: How Effective are Technical Interviews?

#44
I hate to be a stick in the mud, but you have to ask algorithm questions, and you have to ask them to code an implementation. If you hire a lot of people, that is simply the only way to avoid making (some) horrible hires who later cost you dearly. Portfolio of code is not a substitute - you don't know exactly how much the candidate contributed to it himself, and you can't trust your own ability to evaluate a lot of code written by someone else, not unless you spend an unreasonable amount of time on it. Working with a person for a week is not realistic for most places that hire a lot of candidates. A lot of the time I decided to skip all that boring, old-fashioned tech interview stuff and hire someone who looks great on the basis of something else -- anything else, I've regretted it. I do admit things are different if you're in a tiny startup and basically looking for a co-founder rather than an employee in a big organization. But even then I'd really like to do a brief algorithm and coding run to be sure.

Re: How Effective are Technical Interviews?

#45
post #11

Earlier quoted context omitted.

What is the question I may ask?

Implement: itoa

I think that becomes a better question if it's in a strange base, like 12. The implementation is exactly the same, but good candidates are not necessarily sitting there thinking "I'd just use sprintf, or maybe a stringstream."

Re: How Effective are Technical Interviews?

#47
post #18

Earlier quoted context omitted.

Implement: itoa

I don't know the answer of this question. I could do a guestimate on how such thing would work, but I've never coded c/c++ extensively. Am I useless now? I don't really see how this proves someone has basic knowledge about programming. However I could be wrong and this is a function that c/c++ programmers write on a daily base and is indeed a good indicator if someone ever ran a c++ compiler.

Well, I've written that a handful of times, but those were back when I was an embarrassingly bad programmer. Nowadays, I just use one of the various library functions to do it -- if you count C++, there are somewhere near half a dozen ways. It's a task I perform a lot, but the libraries have it covered.

The very same is true for "sort a linked-list", though, and that seems to be a popular one. This type of question isn't normally asked because they actually expect you to do it, but because if you don't know some specific things, the question will expose that.

Re: How Effective are Technical Interviews?

#48
post #19

I like interviews where you explain existing code you've written. I do well with those. I also do well if they give me a homework problem before the interview. True story. Interview at Google. They had me make this AJAX web application as homework before the interview. Three people told me they LOVED my solution and thought it was beautiful. I figured I was a shoe-in for the job at that point. But at the interview th…

It sounds like the AJAX web app was designed to test your sense of taste and your ability to get things done, and the Javascript question was to test whether you've ever done anything numerical in JS. ('4'+4)-4 is 40, whereas (4+4)-4 is 4. There are a lot of people who glue a few things together in Javascript and PHP and call it a day, and their filter against those is imperfect. Interviews as a whole are less inform…

> 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, since they would never write something daft like '4'+4 in real code, they would have to look up which interpretation JS happens to use.

In case anyone is wondering, in JavaScript, the answer is 44. However, in Perl, it is 8. In PHP, it is also 8. In Python, it is a type error without an explicit cast. You get the idea.

Re: How Effective are Technical Interviews?

#49
Many technical interviews are very theory-heavy, muddling the divide between Computer Science and Software Engineering.

I've been faulted for this in my interviewing, but I think that you have to pose at least one problem that can be explained precisely in less than a minute and solved completely in less than an hour. Such a problem will inevitably have an abstract, theoretical feel.

It's also good to ask more realistic questions to test domain knowledge, but there are candidates who can string the right words together in the right order all day long but fall apart when faced with a real problem. It's very frustrating to try to identify such people using a loosely-defined, open-ended problem, because they can speak competently and professionally while avoiding the aspects they don't understand, and many experienced candidates will exhibit the same blathering behavior even if they are technically strong, because it's a standard mode of speaking that everyone in the industry has to learn.

I.e., if I faulted people for spouting BS in response to realistic, open-ended questions, I'd rule out strong candidates as well as posers. Asking candidates to completely and precisely solve a simple problem separates abstract thinkers from people whose skills are purely verbal.

Re: How Effective are Technical Interviews?

#50
post #37
post #23

Earlier quoted context omitted.

I once tried giving out a homework problem to interviewees and a surprising number of people flat-out cheated! I absolutely hate "trivia" questions, but I feel like I have to ask people to actually write code during an interview even though it's unrealistic and a bit unfair. (I also think that if a candidate is flying to the interview, the employer should cover the airfare... but maybe that's why I don't get to hire…

I interviewed a candidate who had an impressive college project involving compilers on his resume. Almost any question I asked him about it was answered with "I don't know, the other guy did it." Even asking him "What did you work on?" resulted in an "I don't remember."

Maybe you should have asked who the other guy was and interviewed him.
Post reply on HN