Live data from Hacker News

How Effective are Technical Interviews?

jeanhsu.com

21–30 of 114 posts

Re: How Effective are Technical Interviews?

#21
We hire people based on enthusiasm, general intelligence (you can usually tell after a few minutes) and a low level of demonstrated proficiency - we'll ask them to explain a code sample they wrote, or ask for a verbal description of how to solve a problem. We choose the person we like best, and if they don't work out after 2 weeks we fire them.

Hot seat quizzing produces way too many false negatives. We are not google. We can't do 5+ rounds in search of yeoman geniuses. We have to spend time making money. Some companies don't seem to have this inconvenient little problem, but we do.

And besides, most of our hires have come from existing networks where none of this is even necessary. Having an extensive professional network should be a feature of anyone you consider bringing on as founder or employee or contractor.

Re: How Effective are Technical Interviews?

#22
post #11

Earlier quoted context omitted.

What is the question I may ask?

Implement: itoa

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?

Re: How Effective are Technical Interviews?

#23

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…

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 many people)

Re: How Effective are Technical Interviews?

#24
I would suggest people to filter out like riotgames does. They ask job applicants to answer some questions and implement a small project in Java. See http://pastebin.com/zhCxcRds for the questions and http://riotgames.com/careers/software-engineer-java-pvpnet-p... for the job post.

Re: How Effective are Technical Interviews?

#25
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 area where you are both somewhat competent.

2. State a problem you don't know the answer to, something you are currently working out for your own projects, in terms of the mutual tech. VERY IMPORTANT: you must not have the best solution in mind when you bring up the topic.

3. Brainstorm on it together.

This provides more feedback in a valuable way than the classic brainteaser. You find out how the person thinks and problem solves -- you know, that thing you are hiring her to do. You find out how you and her work together. Even if no solution is reached, it is OK because there was no solution going it -- just a problem to be worked.

Your job in the interview is then to make sure you steer the discussion towards various tech and deep problems, coding issues, etc. Afterwards you will have a pretty strong idea of how it is to work with the candidate, which is quite useful for deciding if you want to continue to work with the candidate as an employee. Further if you've done well at the steering of the discussion, you have learned about candidate's technical depth, without setting up test/interview anxiety situations.

Re: How Effective are Technical Interviews?

#26

We hire people based on enthusiasm, general intelligence (you can usually tell after a few minutes) and a low level of demonstrated proficiency - we'll ask them to explain a code sample they wrote, or ask for a verbal description of how to solve a problem. We choose the person we like best, and if they don't work out after 2 weeks we fire them. Hot seat quizzing produces way too many false negatives. We are not googl…

Are there laws that allow/prevent the 2 week trial period for a business?

Re: How Effective are Technical Interviews?

#27

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…

In a similar vein, my favourite interview (and actually the one that scored me my first real gig) was explaining existing code in some of the products that I would be working on if I got the position.

That way I had not seen the code before, but at the same time this was for real, "live" code. It was awesome, as not only did I get to show I could understand code, but more importantly it showed that I was able to dive into an already existing project and work through what I needed to.

It also gave me a little insight into how those projects were organised, in a way.

I think in all, I was given 5 snippets, all getting 'harder'. The way it worked was the first snippet was a complete function, comments included. That allowed me to infer things from the comments, as well as function and parameter names. By the end, they were showing code with the function name changed and all comments removed, but the rest was still there.

I thought that whole process was quite interesting and having lead some interviews myself since then, I always ensure that I try that with the hires we are looking at...

Re: How Effective are Technical Interviews?

#28

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 hits the nail on the head for me, and I couldn't agree more. If I was interviewed this way for a position, even if I didn't get the job I would have huge respect for the company afterwards.

Re: How Effective are Technical Interviews?

#29
post #22

Earlier quoted context omitted.

Implement: itoa

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.

Re: How Effective are Technical Interviews?

#30
post #15

I have a sizable and growing portfolio of code I've written: some complicated algorithm stuff, some open source contributions; things like that. No one ever looks at it. I'm starting to wonder why linked lists are so important to employers.

The "Linked Lists" chapter from "Programming Interviews Exposed" begins:

"The deceptively simple linked list is the basis for a surprising number of problems regarding the handling of dynamic data. Problems about efficient list traversal, list sorting, and the insertion or removal of data from either end of a list are good tests of basic data-structure concepts... Their simplicity appeals to interviewers, who want to present at least two or three problems over the course of an hour-long interview... You can write a relatively complete implementation of a linked list in less than 10 minutes, leaving you plenty of time to solve the problem... In addition, there is little variation in the way linked lists are implemented, which means that an interviewer can simple say "linked list" and not waste time discussing and clarifying implementation details."

http://www.piexposed.com/

Post reply on HN