As a manager, I want people who are hardworking, sure, but how I can I know that they're working on their assigned tasks instead of studying up for interviews and trying to jump ship? Also, I want to work with people who are creative, empathetic and collaborative (the latter is a hugely important trait perhaps even more important than raw algorithmic interviewing ability in a highly teamwork driven discipline like Software Engineering) - none of which these kinds of interviews help with. Or maybe I want a mixture of people with different strengths and weaknesses, like a team with an algorithms expert paired with a creative problem solver that can figure out new approaches to business problems. Applying a uniform standard involving mostly rote memorization and practice of the same set of interview puzzles to everyone is in my view antithetical to building a strong engineering organization. But you're right that it works "well enough" and no one has found alternative solutions that work better so it is unlikely to change in the near future.