As a result, he pushed them to move more in the direction of "behavioral interviewing," asking people, for example, to describe difficult problems and how they had worked to solve them. That way you at least learn a little something about how the candidate thinks and about their style of communicating with a potential colleague about technical problems.
If I recall correctly, the only formal process that has been shown to actually predict job performance well is standardized testing of job-relevant skills. Maybe companies should spend more effort on identifying the more important job-relevant skills and work with testing professionals to come up with appropriate tests? Then they could save interviews for finding out which of the top performers seem like they're going to be pleasant to work with.
For large companies like FB or Goog, if they lose a few people to false negatives, it's fine because there are hundreds more lining up.
Either way, from the large company perspective, the system works. Most notably, it's really efficient.
The issue is when small company A starts asking you to implement Tarjan's or something. That's where this interview process seems particularly damaging.