Тестовое с Chat GPT и собеседование с наушником: работают ли чит-коды при трудоустройстве в IT-компанию
November 1, 2024
preview

Хитрость помогает добиться успеха так же, как и положительные навыки: трудолюбие, усердие или любознательность. Но использовать ее нужно с умом.

Меня зовут Сергей Романов, я работаю в KODE тимлидом бэкенд-разработчиков. Недавно проверял тестовые задания кандидатов на менторскую стажировку и увидел в коде нестандартный для Go архитектурный паттерн. В нем не было ошибки, но обычно пишут не так. Он встретился мне еще в шести заданиях. На втором задании я подумал, что у меня дежавю. На третьем — что ребята списали из одного источника. На четвертом обнаружил пометку «GPT-4», которую автор забыл удалить, и все встало на свои места.

Тогда я рассказал об этом коллегам, узнал, что, помимо тестовых, кандидаты пользуются ИИ во время собеседований, и решил написать статью. Объясню, почему считаю читерство при трудоустройстве не лайфхаком, а выстрелом себе в колено.

Что выдает читера на собеседовании

Внезапное озарение

Кандидат не может решить задачу. Ему предлагают спокойно разобраться с ней попозже. Он соглашается и присылает ответ через пару минут после окончания собеседования. Это подозрительно, ведь только что в течение некоторого времени у него не получалось найти решение. Мы отправляем условие в Chat GPT и получаем дословно такой же текст.

Резкая уверенность

Перед ответом на вопрос происходит заминка на 5-10 секунд: кандидат чешет в затылке, хмыкает и как бы раздумывает, а затем быстро и уверенно отвечает. Были такие кейсы и во время лайвкодинга — курсор долго находится вне фокуса, то есть кандидата нет на страничке, а затем он возвращается и пишет правильное решение.

Помехи видеосвязи

Собеседование проводят двое: рекрутер и инженер по тестированию. Рекрутера кандидат слышит хорошо и отвечает ему быстро. Но после вопросов инженера по тестированию он жалуется на связь и по несколько раз переспрашивает незначительные детали. При этом рекрутер инженера отлично слышит. На некоторые вопросы кандидат говорит: «Я знаю, как это работает, но не могу объяснить своими словами, лучше скажу вам определение».

А у вас стена белая

Кандидат сидит в темном помещении на фоне белой стены. Когда ему задают вопрос, он делал вид, что думает, но в это время отсвет за его спиной меняется из-за переключения вкладок.

Микронаушник

Однажды рекрутер думал, что рядом с кандидатом сидит помощник и подсказывает ему — настолько громким был звук в микронаушнике.

Как спалиться в тестовом

Использование ИИ в тестовых заданиях легко заметить:

  • По идентичному стилю, формулировкам и ошибкам у разных людей.
  • По разному стилю текста. Например, в абзацах, где кандидат рассказывает о себе в свободной форме, он изъясняется менее формально и сдержанно, чем в ответах на задания. Кажется, что первое писал человек, а второе робот.
  • По низкому качеству перевода на русский язык. Например, «конечная точка API» вместо «API endpoint».
  • По неверному решению задания в случае, когда правильный ответ очевиднее неправильного. Или по совсем неправильному ответу: например, нужен был код для сервиса, который должен работать асинхронно, а кандидат прислал синхронный — потому что асинхронный ИИ не потянул.
  • По излишним комментариям в коде. В нашем простом тестовом с прозрачным решением нет сложной бизнес-логики, которую надо объяснять. А Chat GPT постоянно комментирует код сухим техническим языком, чтобы объяснить человеку, что он сгенерировал.

Почему читерство — не выход

Думаю, вы согласитесь со мной в том, что каждый из сценариев выше выглядит заранее обреченным на провал. Конечно, можно сказать «Ты привел выборку только из тех, кто попался, а как насчет непойманных?». Ну так мы их и не поймали — значит, они были умнее или повезло.

Рекрутеры часто проводят собеседования, ведущие специалисты проверяют тестовые задания одно за другим. Поэтому им нетрудно заметить подозрительные действия или решения. А когда обман раскрывается, у сотрудников компании нет возможности закрыть на него глаза и продолжить общение, как ни в чем ни бывало, и в 100% случаев кандидату отказывают.

Понимаю, что глобально в IT есть проблема переусложненных технических собеседований, на которых кандидату предлагают, например, балансировать красно-чёрное дерево из толстенного тома Кормена. При том, что это совершенно не пригодится ему в работе и, вообще, о существовании деревьев он слышал только в вузе. Возможно, такое грех не списать.

Понимаю, что помимо переусложненных собеседований есть и переусложненные тестовые задания. Или ситуации, в которых из 100 тестовых неплохого качества выбирают только два, и смотрят не на условия, указанные в задании изначально, а на работу «сверх».

Понимаю, что на рынке периодически мелькают истории вроде «Я прошел собеседование в Google на высокую должность, полгода работал два часа в неделю и никто ничего не заметил». Из-за них возникает ощущение, что прорваться в IT можно любой ценой.

Но мы в KODE — и это подход не только нашей IT-компании — проводим отбор на вакансию или стажировку для того, чтобы оценить уровень знаний кандидата и возможности его мышления. Мы занимаемся коммерческой разработкой и ищем специалистов под конкретные проекты. На собеседованиях и в тестовых задаем условия, максимально приближенные к реальности, проверяем глубину понимания инструментов, с которыми надо будет работать.

Мы не ждем от кандидата умения работы с ИИ, потому что у нас нет процессов, в которых мы бы генерировали код через ИИ. У наших задач сложная бизнес-логика: пару раз мы пробовали сгенерировать код через ИИ, но затраты на приведение его в нормальный вид были сопоставимы с самостоятельным написанием. Возможно, в будущем ИИ сможет выдавать качественные решения, но пока это не так, мы его не трогаем и упрощаем себе жизнь только с помощью детерминированной кодогенерации.

Поэтому мы не можем позволить себе нанять человека, который привык сильно полагаться на ИИ. Даже если он каким-то чудом пройдет техническое интервью, он не сможет выполнить повседневные задачи. Или будет делать их слишком долго, потому что у него ухудшился навык самостоятельного написания кода.

Как использовать ИИ во благо

Однажды кандидат сдал отличное тестовое задание, но документация в нем была слишком подробной и хорошо отформатированной. Я прямо спросил, и он честно ответил, что сгенерировал ее в Chat GPT. Это не составило проблемы, потому что он автоматизировал рутинную задачу, а в остальном все понимал.

Наши фронтендеры прибегают к помощи ИИ в рутинных задачах: например, генерируют моковые данные по схеме. Или тесты — потому, что ИИ часто придумывает неочевидные кейсы, до которых сложно догадаться.

Как же быть в итоге

Короткий ответ: либо списывать так, чтобы не поймали, либо не списывать вовсе. Я склоняюсь ко второму. На мой взгляд, у использования ИИ в тестовых заданиях три причины:

  1. Желание сэкономить время.
  2. Желание спрятать пробелы в знаниях.
  3. Неуверенность в себе и ощущение, что ИИ знает лучше.

В первом случае лучше не торопиться. Обычно мы даем на тестовое достаточно времени — около недели, но понимаем, что большинство кандидатов ищет новую работу, не увольняясь с предыдущей, или выполняет несколько тестовых одновременно. При форс-мажорных обстоятельствах мы можем пойти навстречу и подвинуть дедлайн.

Во втором случае считаю, что все тайное становится явным. Вместо того, чтобы идти на риск, лучше пополнить знания с помощью глубокого ресерча: почитать статьи или книги, посмотреть видео, покопаться в сообществах. Причем относительно глубокого — по опыту, в некоторых заданиях кажется, что кандидат мог бы найти верное решение после получасового ресерча в Google. Но вместо этого он прочел краткую выжимку из Chat GPT по диагонали и не добрался до истины. Если на ресерч совсем нет времени, размышляйте самостоятельно и комментируйте ход мыслей. Например, «Не уверен, что здесь пригодится именно этот метод, но раз он может сделать то, то и то, он подходит с вероятностью 90%».

В третьем случае уверенно заявляю: пока что ИИ не умнее человека, и польза от сэкономленного времени не компенсирует потенциальный вред. Он может упростить жизнь специалиста, который хорошо ориентируется в своей области. Но для менее квалифицированного кандидата ИИ — ненадежный рассказчик, на которого нельзя полагаться. Он может подкинуть неверное решение под видом правильного, не объяснить, в чем подвох, и просто подставить вас перед потенциальным работодателем.

Поэтому лучше либо честно признаться в незнании — оно может быть не так и критично, либо выдать не идеальное, но самостоятельное решение.

The site uses cookies, which allows you to receive information about you. This is necessary to improve the site. By continuing to use the site, you agree to the use of cookies - more details in our Policy on the processing of personal data