Earlier quoted context omitted.
A fizzbuzz question would sufficiently address points 1 thru 5. The issue at hand is that the "unrealistic" algorithm questions aren't fizzbuzz.
Fizzbuzz was the leetcode of yesteryear. It's exactly the same concept, just a different unrealistic question. The leetcode issue is to a large extent caused by, literally, leetcode.com the website. When I first started doing technical interviewing this website didn't exist, so if you developed a question that wasn't too easy or too hard, covered the bases, fitted well into 45 minutes, that you could calibrate the di…
Sure, people can rote memorize "public static void main(String[] args)", but there's way you can test them their understanding on each of these magic keywords. This would achieve the goal of understanding programming language constructs without unrealistic algorithmic questions.