This is a general list of questions for any programming position.
The aim of these questions is to ascertain an interviewee's technical abilities and behavioral fit.
When looking for a potential candidate, I want to see someone who has programmed with purpose. Someone who has made mindful decisions when choosing technologies and design patterns. They should be able to explain what they did and justify why the did it. It is this mindfulness that shows their ability for self reflection, and this reflection that leads them to improve and become a better programmer.
Interviewers: For those looking for inspiration and to refine their process.
Interviewees: For those looking to improve their answers in an interview. The sub-questions in each category should give you a good idea of how to talk about your projects, work experience, and education in a meaningful and intelligent way.
As I continue to interview new people I will refine and update these questions based on the effectiveness of their ability to screen and discern quality candidates.