Before the interview, I read over the candidate's resume and jot down an interview plan, a list of questions I want to ask. Here's a typical plan for interviewing a programmer:
2. Question about recent project candidate worked on
3. Impossible Question
4. C Function
5. Are you satisfied?
6. Design Question
7. The Challenge
8. Do you have any questions
The Introduction phase is intended to put the candidate at ease. I spend about 30 seconds telling the person who I am and how the interview will work. I always reassure the candidate that we are interested in how he goes about solving problems, not the actual answer.
By the way, in doing the interview, you should make sure that you are not sitting across a desk from the candidate. This creates a formal barrier which will not place the candidate at ease. It is better to move the desk against a wall, or to go around and sit on the other side of the desk with the candidate; this does help put the candidate at ease. This results in a better interview because it is less distorted by nervousness.
Joel On Interviewing 5: The Plan, the Introduction