Помните раньше была такая штука как собеседование по теории? Когда просто задают вопросы а-ля “как работает хеш таблица” или “а что там происходит при коллизиях”? Так вот, оказывается, такое и сейчас есть.
Вообще, тема собеседований мне весьма не чужда, я даже когда-то готовил людей к прохождению этих самых собеседований, причем весьма успешно. Так вот, формат таких теоретических собеседований мне никогда не нравился. А теперь, в эпоху AI он и вовсе потерял какой бы то ни было смысл. Почему? Потому, что кандидату, в целом, ничего не стоит посадить рядом с собой какую-нибудь нейронку на церебрас + live модельку, которая будет слушать и выпуливать ответы даже на самые сложные вопросы быстрее, чем интервьюер закончит задавать вопрос. Более того, такие персональные агенты-помощники вот-вот вообще станут нормой (это если вдруг вы до сих пор относитесь к такому как к читерству). Собсна, при должной сноровке не сложно запромптить агента так, чтобы он вылавливал всевозможные уловки (а-ля чего это вы мне в третий раз одно и то же спрашиваете разными словами) и вообще вел себя как живой.
Но как тогда? Есть радикальное мнение, что испытательный срок — это лучшее “собеседование”, причем не 3-месячный, а куда более быстрый (сейчас с агентами, в принципе, за неделю-две уже можно делать выводы об адекватности кандидата). Ну ок, каждого же не будешь брать на платную испыталку — согласен. Что тогда? Мне очень нравятся два формата на собесах:
-
Обсуждение опыта: задач, которые кандидат решал ранее и особо запоминающихся проблем/граблей, которые возникали на этом пути (ок, такое и с нейронкой можно провернуть, но явно будет сильно сложнее сделать это органично).
-
И второй формат: вот удивитесь, но это лайв код ревью*. И это как раз тот формат, который не просто позволяет проверить знание той самой теории, но и понимание этой теории на практике. Ну, например, есть у вас тот самый блок вопросов про хеш-таблицы/dict (допустим, вы считаете понимание его строения важным), напишите в коде кейс с коллизией или кейс с overridden
GetHashCode() => 0и спрашивайте, что там в представленной портянке на 100 строк не так (спойлер: там все не так). Ну, или у вас есть странный вопрос про отличиеThreadотTask— ну, бахните в кодеThread.Startс каким-нибудьasync voidиawait’ом внутри и смотрите что на это кандидат скажет, ну и так далее. А если на ваш теоретический вопрос не получается придумать практический кейс тогда это хороший повод задуматься о целесообразности такого вопроса. Еще, раньше подобные примеры портянок было не просто придумывать и я на РФ рынке встречал всего пару компаний, которые такие штуки делали. Сейчас же, как вы понимаете, такие задачки очень здорово можно нагенерить вместе с нейронкой — берете этот пост, описание вашей вакансии, описание компании и отправляете это все гпт 6 про с просьбой сгенерить такую портянку на часовое интервью. Ну ок, вы мне скажете, что мешает (сильной) нейронке поревьюить код и найти в нем все проблемы? То, что в любом ревью важен контекст, а контекст надо догадаться сначала уточнить и в зависимости от контекста важность той или иной проблемы будет отличаться (мы же помним как хорошо нейронки могут бесконечно находить проблемы). Проблемный код в этом случае выдается кандидату всей портянкой и в нем может быть как много проблем, так и наоборот практически не быть. Здесь еще важно отметить сам процесс — кандидат сразу побежал ошибки искать или сначала попытался понять а что вообще происходит и для чего. Ну и в целом, идеально когда вайб-кандидат не готов к такому формату и тогда его (обычно простой) live-агент просто будет хвататься за первую попавшуюся на экране проблему не вдаваясь особо в контекст и в ее важность. Короче, в таком сетапе обмануть систему становится сильно сложнее.
* Речь, конечно, идет о кейсах, когда по классике нанимают конкретного специалиста на конкретный стэк, а не агентного инженера-агностика.
А как у вас в компании поменялась механика собеседований? И спрашиваете ли еще в принципе про условное устройство хеш-таблиц или у вас уже AI-native полным ходом и все подкапотные детали — это что-то из разряда знаний ассемблера?)
Больше и чаще пощу в своем тг-канале AI-Driven Development.
ссылка на оригинал статьи https://habr.com/ru/articles/1091238/