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

Все истории — художественный вымысел. Все совпадения случайны.

Контекст: зачем даются тестовые задания

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

Исходные данные

Соискатели откликаются на вакансию на популярной платформе, им предлагается пройти какой-то несложный тест на знание языка программирования. HR проводит первичный скрининг резюме и даёт ссылку в GitHub на тестовое задание.

Сроки на тестовое не ограничены.

Тестовое состоит из 3-х частей разной сложности и объёма. Результаты тестового также необходимо прислать в виде ссылки на репозиторий.

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

Как проверяются тестовые задания

Первое, что приходит в голову проверяющему: кто выполнил задание — человек или ИИ?

Кажется, что начинающему разработчику в 2025 году написать код и не спросить что-то у ChatGPT — нереальная задача.

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

  • Как оценить навыки кандидата, если код, вероятнее всего, писал не он?

  • А если при решении соискатель частично использовал ИИ, то как понять, понимает ли он то, что было сгенерировано ИИ?

  • И есть ли смысл вообще проверять задание, выполненное ИИ, если на проверку одного кандидата уходит примерно 30 минут рабочего времени?

На этом этапе у большинства разработчиков встаёт серьёзный жизненный выбор: выполнять ли бессмысленную работу или попытаться её автоматизировать.

Идея: программа ai_plagiat

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

  1. Берём описание каждой тестовой задачи, закидываем во все популярные AI-ассистенты (на момент написания статьи около 5–6).

  2. Сохраняем их решения себе.

  3. Парсим решение кандидата из его репозитория.

  4. Сравниваем решение кандидата и ИИ двумя способами:

1) Простое текстовое сравнение

  • Удаляем комментарии (однострочные и многострочные)

  • Удаляем лишние пробелы и переносы строк

  • Сравниваем две последовательности символов

2) Сравнение AST (абстрактного синтаксического дерева)

  • Дерево представляет собой структуру кода: выражения, операторы и т.д.

  • Сравниваются структуры деревьев решений

Пример отчета ai_plagiat

Экспериментальный инструмент  
Результаты сравнения решений кандидата с решениями ИИ  
TEXT — текстовое сравнение  
AST — сравнение абстрактного синтаксического дерева

---Kandidat Kanditov---  
task1: TEXT: 98.02% (chat_gpt); AST: 99.78% (chat_gpt);  
task2: TEXT: 28.48% (chat_gpt); AST: 47.05% (deep_seek);  
task3: TEXT: 13.01% (grok); AST: 42.94% (grok);  

Что это нам даёт

Даже в таком написанном "на коленке" варианте программы можно понять, какой из кандидатов не сильно задумывался над выполнением задания.

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

В целом такой инструмент, наверное, полезен и должен применяться HR-ом ещё до отправки тестовых на проверку разработчикам. Программа ai_plagiat не даёт 100% гарантии и требует периодической доработки.

Есть ли смысл в тестовых заданиях в 2025 году?

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

Проблемы работодателя:

  • Трата ресурсов на проверку решений, сгенерированных ИИ

  • Гадание: понимает ли кандидат, что ему сгенерировали

Возможные пути решения:

  1. Приглашать кандидата на онлайн-кодинг только по резюме — точно не выход

  2. Составлять текстовое описание тестового таким образом, чтобы ИИ в первых итерациях давал заведомо неправильное решение

Не пользоваться AI-ассистентами в 2025 году в разработке — уже невозможно.
Но работодателю для кандидатов, видимо, придётся сделать исключение, если сохранится формат тестовых заданий.

Проблемы найма: взгляд изнутри

Наш HR отправляет разработчикам на проверку в день примерно по 10–15 тестовых кандидатов. Из них удаётся проверять 3–5 в день, т.к. не каждый разработчик может уделять время на ежедневной основе. Т.е. куча тестовых просто физически никто не успевает просмотреть.

А ещё сколько резюме кандидатов проходит через самого кадровика — страшная загадка.

Если работодатель не отвечает соискателю или отвечает отказом — то велика вероятность, что дело не в кандидате, а в отсутствии физических возможностей это всё обработать.

Задания, написанные с использованием ИИ, проверяющему приходится сразу скипать, т.к. оценить навыки кандидата в этом случае очень сложно.

? Совет джуниор-кандидатам: пользоваться ИИ для решения тестовых не стоит, т.к. велика вероятность отсеяться ещё на этапе автофильтров.

Комментарии (3)


  1. panzerfaust
    17.07.2025 07:58

    Есть ли смысл в тестовых заданиях в 2025 году?

    Его и раньше не было. Гугл не вчера появился. А принцип "только не списывай точь-в точь" и того раньше. А сегодня ситуация лаконично описывается старой индейской мудрость "лошадь сдохла - слезь". Единственный позитивный выхлоп в тестовых - это если кандидат задает уточняющие вопросы. Значит все же пытается разобраться. Однако по личному опыту знаю, что работодатель ненавидит уточняющие вопросы. Их ТЗ всегда якобы написаны идеально, хотя по факту дыра на дыре.