Software engineer interviews are hard because simultaneously:
1. They are adversarial where the interviewer is trying to tell if the interviewee is cheating and evaluate their performance.
2. They are trying to, as much as possible, emulate the team-oriented work environnment where the relationships are cooperative. So the interviewer is trying to be on the interviewee's "side" as much as possible to see what it would be like to work with them.
These two goals are in opposition, which is one of the reasons why SE interviewing is so hard to do well.
If you make the interview more explicitly adversarial like examinations are, you do a better job of weeding out cheaters. But you also bias towards candidates that are comfortable with adversarial interactions and you lose vital signal about their cooperation ability.
1. They are adversarial where the interviewer is trying to tell if the interviewee is cheating and evaluate their performance.
2. They are trying to, as much as possible, emulate the team-oriented work environnment where the relationships are cooperative. So the interviewer is trying to be on the interviewee's "side" as much as possible to see what it would be like to work with them.
These two goals are in opposition, which is one of the reasons why SE interviewing is so hard to do well.
If you make the interview more explicitly adversarial like examinations are, you do a better job of weeding out cheaters. But you also bias towards candidates that are comfortable with adversarial interactions and you lose vital signal about their cooperation ability.