Looking at past work penalizes people who primarily have experience in large systems where their work is NDA’d, impossible to understand without a loooot of background, or simply unshareable for any number of reasons. Also really bad for new entrants into the industry. They don’t have past work.
The take-home exam penalizes people who have lives.
The “do smol thing together so we can talk about it” interview penalizes people with performance anxiety.
There is no silver bullet. But if I’d have to choose, I’d pick the least bad typical interview approach that judges everyone based on their performance on a small job-relevant task. At least you avoid a lot of bias.
source: I’ve interviewed over 100 engineers over the past 18 months as we scaled the engineering org roughly 3x. I honestly don’t even look at candidates’ resumes anymore (this is after initial screens have been made) because it always leads to bias.