One thing that I took away from my flight instructor is that she had me say aloud everything I was thinking and doing. If I said, for example, "those trees might cause a downdraft on the approach", then, if I did not handle it well, at least she knew the issue was with my execution and not in recognizing the possibility.
I don't often interview developers, but when I do, I try to get into a situation where the candidate leads us through solving a programming problem, and the issues that come up. The most satisfactory case was where the candidate and I jointly investigated an issue that neither of us had the answer to.
Unfortunately, this is not an approach that many people have much experience with, and it seems unfair to penalize people who find it disconcerting, but when it works, I think it is most satisfactory approach for all concerned. It is not easy to automate either the practicing for or execution of this style of interview, which may or may not be a disadvantage.