One is a grueling several hour interview on data structures and algorithms taught in college-level CS classes. These are typically data structures and algorithms that are almost never implemented in real work. They have been known for decades and are now incorporated in most computer programming languages, libraries, and toolkits. Experienced software developers with CS degrees typically have not used this knowledge in years and need to brush up. Experience software developers with other degrees or purely self-taught software engineers often never learned these at all -- or in a very limited way.
Thus this first type of coding interview is geared toward hiring new college graduates, very strong new college graduates, with a CS degree. It effectively discriminates against experienced/older candidates.
The other type of coding interview is a grueling test on specific languages, tools, algorithms, data structures etc. that the candidate would use in the actual job they are interviewing for.
Both types of coding interviews don't necessarilly identify the ability to learn and adapt to new technologies or many other skills that are critical in many technical jobs.
The coding interviews tend to favor candidates who have both the time and inclination to drill heavily on the typical coding interview test questions.
Contrary to the writer's comments, there are a large number of non-white "Asians" in software development jobs. Asian cultures and educational systems often favor this type of heavy drilling and practice on specific skills.