I have answered around 10 company interviews and cleared 8 of them. I have personally interviewed around 15 people so far.
My keys lessons are:
1. Whiteboard coding is not actually about coding. It is about talking with interviewer, coming up with examples and demonstrating a clear cut though process and of course then showing that you can convert idea into code.
2. All this requires very good communication. I always made sure I asked many questions to my interviewers, cares about what problems they solved and treated him as "fellow developer who took time to help me out getting a job" rather than someone who is a judge trying to judge me.
3. What really struck me about OP's rant is that he probably did not invest time in researching how he would be interviewed in first place. All the recruiters who contact you are absolutely clear in telling you what to expect. You were supposed to know what to expect.
4. If the interviewer was rude or indeed "threw" the resume on face, I would strongly recommend informing your recruiter about this. Such person should not be allowed to interview anyone else.
5. As an interviewer you are supposed to help the person get a job by convincing yourself that he could be a good fit in the company. This is not very hard. It is an exercise for you too. You just cant say "write DFS on whiteboard". You must drive the person in right direction, giving hints and even if the person lacks intellect/experience you must make him feel comfortable and good. Even though that person does not get the job eventually you must help him become a better interviewee as he leaves that room.
> you're truculent, uncooperative and insist on being the smartest asshole in the room, you will not be finding work with my team today
Can not agree more. Often really smart people tend to be humble and love challenges than insisting "this is not the good way to interview me". An intelligent and curious person will not run away from a mentally taxing activity, he would face it bravely and even enjoy it in the process.