I'm going to sidestep your questions and just remind you that software engineer hiring processes today suck.
Just because one doesn't do well under the extreme time constraints of an interview does not mean they won't do well as a software engineer. Honestly, in fact, I think it can be quite misleading because you have both: (1) good software engineers who work best solving problems with plenty of time to think, and (2) "hacker" style programmers that can whip up something to pass an interview quickly but are not actually good at design pattern and architectural type stuff that separates the software engineer from the programmer. Just my 2ยข.
From my experience you never know which person you are going to get from me in an interview. If I'm swamped that day and just did a deployment or something then I'm probably already spent or preoccupied mentally by the time the interview rolls around that day. That was my experience when interviewing at Facebook earlier this year. I generally will go on interviews to at least learn what I don't know or what I don't know well enough to do in my sleep. However, many times its just the luck of the draw that day as to which version of me you'll get.
Absolutely. The bulk of software interviews today are not optimized to find a candidate's strengths. They're optimized to make interviewers and hiring managers feel smart and powerful.
I get why that's the case; I too am a social primate who is invested in being seen as smart. But it's bunk.
Just because one doesn't do well under the extreme time constraints of an interview does not mean they won't do well as a software engineer. Honestly, in fact, I think it can be quite misleading because you have both: (1) good software engineers who work best solving problems with plenty of time to think, and (2) "hacker" style programmers that can whip up something to pass an interview quickly but are not actually good at design pattern and architectural type stuff that separates the software engineer from the programmer. Just my 2ยข.