So your argument that what makes a person a good software engineer is the whiteboard coding algorithms?
That stuff is EASIER to learn than actual software engineering skills. All you got to do is spend a couple months cramming from the book cracking the code interview.
You learn that stuff in a singular CS class, that's called data structures and algorithms.
You are right about one thing though, if we are in a state where you can cram for your interview, that is a bad spot. And that is precisely the problem with the CS algorithms type questions!
The "hard" stuff in software engineering is about how you design maintainable code, how you design high level architecture, and generally all the skills that go into coding in a TEAM as opposed to be a programming superstar individual.