

Ask HN: Good interview questions for average programmers - train_robber

I have a slightly strange problem. I need to hire average programmers. Reasons are many - but primarily budget and the type of tasks they are going to be assigned to - not cutting edge work.<p>I have been struggling to find good questions to ask. Fizzbuzz is too easy - and my other questions I try seem to be too hard. So what are your favorite interview questions to ask an average programmer?
======
iuguy
Implement a bubble sort, then a binary tree.

Ask how they'd approach the travelling salesman problem.

Given an SQL query, a request, a set of objects and required output, ask them
to optimise the whole process from start to finish. The smarter ones will ask
about caching, look at optimising the query, look at the way the output is
generated etc. The not so good ones will focus on the .NET/PHP/<language>

~~~
train_robber
The SQL query one, definitely sounds great.

------
RiderOfGiraffes
Do you really think FizzBuzz is too easy?

Hmm.

OK, here's one. Tell them to find out what a Bloom Filter is, and then
implement it. Ask what decisions they had to make on the way, and why they
made the choices they did.

~~~
train_robber
Hmm. Bloom Filter? Hmm, that's a bit of a tough nut to crack. Don't know if it
would work out in a face to face interview over the desk.

~~~
RiderOfGiraffes
You're asking about an average coder - they don't need to re-invent it, they
need to be able to look it up, understand the description, follow instructions
and implement something fairly straight forward.

If you're hiring an average programmer then they need to be able to look up
things, understand them, and implement what they've learned. Seeing what they
do and how they do it is what's important.

------
scrrr
Ask them to show you something they have coded and ask questions about their
implementation. If you can't do it yourself, invite one of your senior devs to
join the interview.

~~~
train_robber
That's been my fallback plan, but the problem is they don't always have
anything with them to show me.

