Hacker News new | past | comments | ask | show | jobs | submit login

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



I've found a very simple question that weeds out about 75% of applicants:

"You have a bunch of objects which have an implicit ordering. You want to insert them into a collection, look them up, and retrieve the smallest/biggest one as quickly as possible."

You'd be amazed at how many people suggest hash tables.


25%?


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 trick question having to do with locales or some odd corner of the Unicode world. If there's something funny about the question, let me know, I might learn something, is what I'd tell them.

I'd say 1 in 10 struggle with this question. The other 9 kick it out in 1 minutes. Very little time is lost in the interview.

Another example is to code the nth Fib number with recursion. I give them the recurrence relationship, in case they don't know it, and write some examples. I'm not throwing out Fib and asking for a solution, and secretly ready to pounce and say, "There's a closed form solution!" or what happens on integer overflow or anything. I want them to convert the recurrence relation to code as a recursive function. But I don't mind hearing valid concerns along the way, although really its just a mininmum bar test.

This eliminates about 15% who often don't get it working at all. (I'm really winging these numbers... i should have kept better track of this).

Doing well on these questions means nothing. It just gets you a ticket to the rest of the interview. But not being able to do them is an indication that I don't think I can listen to the rest of what you have to say (for a dev role) and be convinced that you can do the job -- no matter how versed you seem to be with the latest buzzwords.


What language(s)?


When I was interviewing a lot we were using C and C++. Although I can't recall if I specified language.


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.


fizzbuzz is an oft cited example of a simple test:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-dev...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: