Я бы сформулировал это так: при найме на работу новичка, полезно проверить что он знает и понимает стандартные алгоритмы. Просто при найме на работу меня, или Logger или ax_mct можно поговорить про опыт в реальных проектах и понять уровень. При найме новичка такой возможности нет. Но если новичек понимает некоторое количество стандартных алгоритмов, значит он в целом имеет способности к программированию и его можно нанимать.
Такое внимание к соревновательному программированию объясняется тем, что эти вопросы любят задавать при приеме на работу в Google/Amazon/Facebook и тд. И задают эти вопросы по той же самой причине: Они там работают с уникальными для своей компани задачами, поэтому предыдущий опыт нанимаемого не особо показателен. (Все таки не так много компаний продукты масштаба facebook или gmail разрабатывают).
Ну а что случается, когда разработкой D365FO в Микрософте занимаются люди с опытом быстрой сортировки и обхода графа, но без минимального опыта бизнес-программирования, мы видим каждый день