← На главную

HackerRank выдает резюме рандомные баллы: 66–99

29.06.2026 01:44 · hackernews

Инструмент для отбора резюме от HackerRank набрал популярность на LinkedIn и Reddit. Один разработчик решил протестировать его — и получил жуткий разброс результатов.

Он загрузил одно и то же резюме дважды. Первый заход — 90 баллов из 100. После удаления отладочных print-ов — 74 балла. Он отключил DEVELOPMENT_MODE и прогнал тест сто раз. Баллы прыгали от 66 до 99. Если у компании порог отсечения 85, кандидат с одним и тем же резюме провалится в 65% случаев просто из-за случайности.

Вот как работает инструмент. PDF резюме превращается в текст. LLM вызывается шесть раз, чтобы вытащить структурированные данные: базовую информацию, опыт, образование, навыки, проекты, награды. Система тянет GitHub-профиль, сканирует топ-репозитории и добавляет их как контекст. Всё это скармливается LLM для оценки.

Баллы распределяются так: 35 — за open source, 30 — за личные проекты, 25 — за опыт работы, 10 — за технические навыки. Ещё до 20 бонусных баллов за стартап-опыт, портфолио или технический блог. По умолчанию используется модель gemma3:4b с температурой 0.1.

Технические навыки оказались почти стабильными — 8 из 10 в 98 из 100 прогонов. Это чек-лист: знаешь React — получаешь балл, нет — не получаешь. А вот с проектами — катастрофа. LLM то пишет, что проектам «не хватает архитектурной сложности», то что они «демонстрируют реальное развёртывание». Даже при температуре 0 результаты всё равно прыгают: пользователь на GitHub показал баллы 27, 34, 32, 34, 34, 30 на шести последовательных запусках.

Проблема не в модели. Gemini дала более узкий разброс — 48–64 балла, но при пороге 60 кандидат всё равно проваливается в 28% случаев без своей вины.

Особенно тревожно с опытом. 25 из 25 — каждый раз. Разработчик подставил старое резюме с одной стажировкой — снова 25 из 25. Причина в промпте: оценка опыта занимает всего две строки. Ни рубрики, ни примеров, ни якорей, что считать за 15 баллов, а что за 25. Джуниор с одной стажировкой и принципиал инженер с десятилетием опыта получают одинаково.

LLM отлично парсит резюме и проверяет, знает ли кандидат Python. Но оценивать, стоит ли опыт 18 или 24 баллов, — это уже гадание. Инструмент даёт 65% веса open source и проектам, отсекая инженеров, которые строили что-то серьёзное, но не выкладывали код на GitHub.

Поправка от 28 июня: в шаблоне resume_evaluation_criteria.jinja на первой строке указано «Software Intern» — нигде больше в репозитории это не задокументировано. Явная подмена промпта на Senior SWE ничего не изменила: критерии оценки оказались не привязаны к должности.

Читать оригинал →