I am going to interview a Java candidate soon. Usually what I do is I have a list of questions (e.g. what is an abstract class?). I was thinking of doing something different, in particular sit them down in from of a computer and give them some programming tasks and let them go for an hour. Joel on Software suggests some simple tasks, adding up an array and such, so that might be a place to start.
So 2 questions:
1. Do you think this is good approach to an interview?
2. Can you suggest any good programming tasks?