Многие не хотят проходить собеседования в Яндекс, потому что там 4 секции гоняют по алгоритмам, которые в работе совершенно не нужны. Миф это или реальность? Давайте разбираться.
Во-первых, уметь в алгоритмы правда нужно. И речь тут не о том, чтобы зазубрить сортировку пузырьком или ханойские башни, а в том, чтобы уметь алгоритм придумать. Или свести задачу к известной. В целом продемонстрировать алгоритмическое мышление. Я уверен, что есть неслабая корреляция между умением мыслить алгоритмически и достижениями в работе программистом. Если кандидат не может даже список развернуть - вряд ли он сможет писать хороший продакшен-код.
Во-вторых, эти знания и навыки вполне применимы на практике, даже если вы работаете в продуктовой команде. Нужно понимать основы алгоритмической сложности, чтобы не сделать где-то квадратичный алгоритм, который неиллюзорно замедлит сервис в продакшне. Нужно уметь эффективно пройтись по данным, не сожрав всю память и не нарвавшись на ООМ, который вам положит прод. Я уж молчу про более сложные и даже наукоемкие штуки, которые есть, например, у нас в Яндекс Еде - ПИД-регулятор в ценообразовании, венгерский алгоритм солвинга двудольного графа в назначении курьеров, алгоритм группировки пинов на карте в зависимости от масштаба, резолвинг зон доставки по геоиндексу - да много таких моментов, на самом деле.
В-третьих, есть косвенная польза в проверке мотивированности кандидатов. Если человек для попадания в Яндекс не готов потратить недельку-другую на литкод - может, он не так уж сильно к нам хочет? А мне бы хотелось, чтобы к нам шли решительные и мотивированные кандидаты с горящими глазами. Подход "я уже достаточно крутой, берите меня какой я есть" может сказаться и в дальнейшей работе, когда окажется, что сотрудник не готов прилагать усилия для достижения целей, потому что "он уже достаточно крутой", и просто придя к нам работать как бы сделал нам одолжение. Тут я, в первую очередь, говорю о стажерах, джунах и мидлах, с сеньорами ситуация чуть другая (ну и большинство из них может нормально пройти алгоритмическую секцию без особой подготовки).
Ну и в-четвертых, это все миф и враки. Мы уже давно ушли от, признаться, скверного подхода нескольких однотипных алгоритмических секций, оставив таковой лишь одну. А остальные секции собеседований проверяют исключительно прикладные навыки - работу с ООП, многопоточкой, тестируемостью кода, архитектуру и system design, опыт работы со сложными техническими проектами, cultural fit, знание релевантных платформ и умение использовать это знание для достижения целей.
Это я все к чему - если вы давно хотели работать в Яндексе, но боялись завалить алгосы, стоит все же попробовать. Немного усилий - и все получится! Го к нам - https://yandex.ru/jobs/services/eda или пишите в предложку или личку @jkennedy