Relatedly, I still don't understand why people are upset at these companies' hiring practices.
Lots of people are busy. They don't want to spend time prepping for puzzles they will never solve in their job. They feel like they are qualified for the job, and have great work experience in many cases (let's leave jr devs out of this), but feel like they are being asked to jump through completely unnecessary hoops.
Meanwhile, someone who does have a lot of time on their hands (young, single, no kids, more energy) preps for the tests, and gets paid more money than someone who is older, who has more responsibilities, and who frankly needs the money more.
It feels unfair, in the same way that it feels unfair when rich people get away with crimes poorer people wouldn't.
Well, the rich people used the legal system you say - they paid for attorneys. You could do the same thing, if you had the money.
Well, you don't have the money. And in the case of this analogy, you don't have the time to prep for random CS problems. You don't have the energy, because after work and family obligations - you just want to sleep. Or work out. Or do anything but write and think about code.
To be clear - if you are young, single and have lots of time on your hands - I have no sympathy for you. If you want to work in FAANG, fuck it, grind leetcode. You don't have any responsibilities.
But for those older professionals, with work experience and a track record of success - you shouldn't need to prove competence to write software at a FAANG company. It should come from track record, recommendations, open-source work and other artifacts of your career besides a thirty minute whiteboard session. Depending on the day, the time of day, what food you ate, how much water you drank, you might be absolute trash at coding. And it would be a mistake to sum up someones competency in such a small sample size.
When they interview lawyers, they don't ask them to perform a mock trial. Surgeons aren't asked to 'get their hands dirty' during an interview. Mechanical engineers don't get asked to whip up a CAD diagram in 30 minutes for a part (or maybe they do, what the hell do I know).
Small sample sizes are misleading, large sample sizes (open source work audit, multiple references, perhaps a paid take home project for one of your open source packages) give a much better understanding of a persons skillset than a 30 minute exercise in stress management.