# GPT на собеседованиях
Я много лет провожу собеседования в Яндекс, провёл более 250 секций и только в свои команды нанял около 20 человек. Недавно я столкнулся с новой проблемой — кандидаты научились списывать решения у GPT.
Когда я сам проходил собес в Яндекс 10 лет назад, такой проблемы не было. Я писал алгоритм обхода дерева через стек ручкой на бумажке. Предварительное собеседование проходило в скайпе, но все остальные этапы — только офлайн. В то время, чтобы пройти собеседование в FAANG, нужно было буквально лететь в другую страну. Считалось, что только при личной встрече можно правильно оценить кандидата.
LLM неотвратимо меняет разработку. Пока многие присматриваются к этим инструментам, для меня очевидно, что обратного пути не будет. GPT-модели не заменят программистов, но позволят в разы быстрее решать рутинные задачи. Низкоквалифицированные специалисты больше не потребуются, поскольку один сеньор с LLM будет заменять целую команду джунов.
И это влияет не только на саму разработку, но и на найм кандидатов, особенно на алгоритмические собеседования. Если кандидат достаточно убедителен — ты никогда не поймёшь, сам он пишет код или использует GPT. Уже есть готовые AI, которые помогают готовиться к собеседованиям. Не удивлюсь, если в ближайшее время появятся и такие LLM, которые будут эти собеседования проходить вместо тебя. Кандидат будет получать подсказки от GPT, чтобы правильно отвечать на вопросы.
Что же делать?
Один из вариантов — назад в будущее: снова привозить кандидатов в офисы и заставлять писать код на бумажке. Но мне сложно представить, что мы вернёмся к этому, слишком уж много воды утекло. Хотя не удивлюсь, если отдельные компании выберут этот путь.
С другой стороны, Big Tech сегодня использует алгоритмические собеседования как самый надёжный, универсальный и дешёвый способ оценить кандидата. Для меня алгоритмические задачи — это «хак», который не может проверить реальные умения кандидата, но является хорошей «прокси-метрикой». И корреляция действительно заметна — чем лучше кандидат решает алгоритмы, тем эффективнее он потом в работе. Если есть необходимость регулярно ранжировать сотни кандидатов — странно этим «хаком» не воспользоваться. Но с приходом GPT этот «хак» ломается, и алгоритмическая секция становится нерепрезентативной.
В этом контексте решение мне кажется довольно очевидным — делать задачи на собеседованиях более «прикладными». Вместо решения алгоритма просить написать работающее SPA-приложение или сервис с API. Это будет больше напоминать system-design интервью. LLM на таких собеседованиях (пока) бесполезен, потому что собеседование проходит в режиме активного диалога, кандидат просто не успеет спросить GPT, а собеседующий в любой момент может задать каверзный вопрос и «пощупать» реальные знания.
Когда я думаю о GPT в этом контексте, это напоминает мне не только «написание программы на бумажке», но и истории из детства моих учителей. Им запрещали писать даже шариковыми ручками, чтобы те не разучились пользоваться перьями и чернилами. Нам в школе тоже нельзя было пользоваться калькулятором, чтобы мы не разучились считать столбиком. Методы обучения и оценки знаний всегда отстают от актуальных практик.
Уже больше года я даю кандидатам на собеседованиях возможность дебажить написанный код — добавлять логи, запускать код в консоли, пользоваться автокомплитом и TypeScript. Это позволяет гораздо лучше понять, как кандидат справится с реальной энтерпрайз-задачей.
Думаю, с LLM будет что-то похожее. На собеседовании можно будет использовать любые инструменты, а собеседующий будет проверять, насколько ловко ты пишешь промпты для GPT и применяешь результаты на практике. Ты можешь не написать ни строчки реального кода самостоятельно — и это нормально, главное ведь результат.
А что касается алгоритмов – я не верю, что алгоритмическое собеседование выживет. В мире развитого LLM любая алгоритмическая задача решается за пару минут с помощью одного удачного промпта. И это проблема, которую нам придётся решать в самое ближайшее время.