All the companies I worked with, the interview process is a bit like this:

* there is a pool of interviewers for each set of subjects

* hiring manager picks the subjects, and thus people are signed up for that pool get an interview slot.

* interviewers talk to the candidate one on one (sometimes two on one if there is someone in training or it's a pair panel). They avoid talking to each other until everyone finished with their interviews, so as not to bias each interview. No "This candidate is great" -- never discuss the candidate until everyone is done.

* interviewers fill out a form with feedback. The form contains info about what was asked and how the candidate did.

* hiring manager gets all the forms and makes a decision based on what is on the form. No side channel "Hey, I said 'hire', but really it should be a 'no hire'". If the hiring manager has a question, there is a recorded feedback mechanism in the form where details can be solicited.

* HR keeps all the feedback forms

Asking if you were better or worse than the previous candidate is a no-no. They are not going to tell you, and you shouldn't ask. Because of that, you can't gauge whether you are the best candidate or not, which means you don't know if you got the job.

You can ask if you did well, and they will give you a bland "You did fine", because they don't know if you will be hired or not. Also, most interviewers understand that it is a pain, so when they say "I appreciate you coming in", they usually mean it. Everyone's been on the other side, and we really do appreciate you coming in, and most of the time you really did do fine, and that's all we can say. It's rare to get a really bad interview. In those cases where the interview is awful, I try to say find something positive and then say "well, try not to worry too much". The goal is to be honest, non-committal, and supportive at the same time - because maybe the person might come back and interview later, or maybe they will tell their colleagues, and the last thing you want to do is to give them a bad experience or make them think you are giving them a hard time just because they couldn't answer some questions.

Only the hiring manager knows, at the end of the process, what all the feedback is. Even if you think they did great, if several other people on the panel don't, it's probably a no-hire. The person who met you at the door, offered you coffee, and is shepherding people in and out of the room doesn't know, either. They will try to make you comfortable, make sure everything goes smoothly, and tell you that you did fine.

Only in extreme cases will you get meaningful feedback during the interview. One time I asked one of our standard questions, and the candidate refused to answer. He started arguing with me, saying it wasn't a good question. It was pretty shocking. We don't just ask any question, the questions are reviewed by other people. If I give you a program and ask you to calculate the running time, don't refuse to do that because you don't like the program. It doesn't matter if you don't like it, just answer the question. After you answer the question, you can mention why this type of program is often unnecessary. So that was one situation where I gave feedback, along the lines of "It's not a good interview if you don't answer the question". Please don't have a chip on your shoulder. I know interviews can be irritating and nerve wracking, but let's just get through it with professionalism and a minimum of drama. Odds are good that you did fine, and if even you didn't, there's no point in worrying too much about it.