I was once in an interview where the interviewer was a hard ass. Asking all kids of hard questions about languages I knew, then he got deeper and asked about specifics into those languages. Then started asking about really abstract stuff like different sorting algorithms, OOP concepts like polymorphism, etc. I felt I was holding my own but as the interview went on the interviewer seemed to grow more impatient and irritable. Needless to say I left the interview thinking I blew it. Two days later I got a call from the recruiter saying I was their top choice and got an offer soon after.<p>P.S. It turned out that guy was just grouchy because he had interviewed so many underwhelming candidates. He admitted he was just trying to break me.