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

от автора

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

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

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

Источник: к/ф «‎Гарри Поттер и Орден Феникса», режиссер Дэвид Йейтс

Источник: к/ф «‎Гарри Поттер и Орден Феникса», режиссер Дэвид Йейтс

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

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

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

Chat GPT вообще ненадежный подельник, и при первой же возможности сдает с потрохами

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%».

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

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

А вы что думаете?


ссылка на оригинал статьи https://habr.com/ru/articles/855342/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *