While my career involves writing code, I am not a SWE, I have never done any formal leetcode prep, and I have no formal education in technology beyond a high school CS class. I have no college degree whatsoever, not even an associate's degree.
I had a rule I stuck to when doing these interviews (which were for a SWE role) that felt very fair to me - I would not give these candidates any problem I couldn't solve in the same circumstances.
For reference, in the allotted time, one such candidate spent a good chunk of their time reading up on JS if/then syntax on w3schools. As I watched, I reminded them they could use any language they wanted, if they were more comfortable or familiar with others, and this Harvard CS grad declined, stating JS was their "strongest" language.
My best guess about these cases were rich kids / legacy admissions that weren't allowed to be failed for political reasons.
Don’t get me wrong, we don’t have much of a choice in evaluating especially junior hires. Even for senior hires you want to make sure they haven’t drifted through their last jobs without actually coding. But on the spot performances are different even for the simple stuff, they should practice coding questions on the fly regardless, and even the worst possible SWE candidate should be able to pass these with a bit of prep. With a lot of prep they could do leetcode, a still suck at the job when they get it.
1. Output the numbers from 1 to 100
2. If the number is a multiple of 3, write Fizz instead of the number
3. If the number is a multiple of 5, write Buzz instead of the number
4. If the number is a multiple of 3 and 5, write FizzBuzz instead of the number
Does that really sound like something requiring special practice and preparation? Assuming a decent interviewer would help out with the modulo operator if that was unfamiliar