I applied in mid-2014 to a software eng position based on encouragement from a recruiter. I went to two onsites with five people in total, each of which passed me to the next round.
They had me come in for a third onsite(!) to meet with CEO James Beriker and some head of engineering. I had admitted to being let go for underperformance to the position I held two jobs ago (was doing fine at my current). I had explained this to each past interviewer who asked. Beriker just seemed to want to have fun with it, asking "well why the heck should I hire someone who's been fired?" He looked at my resume and said, "so, what were you doing between these positions ... oh right, that must have been how long it took you to find a job".
Whenever I asked for clarification on his other questions, he cryptically dismissed it with, "just, whatever you interpret that to mean".
I don't imagine that they're going to get a steady stream of good candidates[1] if they're going to put you through all that and still veto you for something they should have known very early on. I ended up working somewhere else and have gotten a total 35% raise since starting.
I also had an interviewer who did the thing where they get flabbergasted and insistent that you did it wrong because you use the opposite convention from the "official" solution, until you walk through it.
[1] In one interview, I derived the optimal solution to the Dutch Flag Problem despite not having seen the problem before.