Интервьюеры, замечали ли вы, как собеседуемый смотрит на второй монитор ? Он там читает шпаргалку или готовый ответ от нейросети ? Или к примеру, код решения вашей задачи не соответствует ожидаемому, но при этом выглядит как формально верный но для немного другой задачи ? Давайте попытаемся разобраться, что здесь происходит.
Hidden text
Я специально опускаю все используемые технические инструменты, библиотеки и т.д. За пруфами в личку.
После проведения очередного интервью с товарищем проявляющим странное поведение, я задумался: а не использует ли он поиск в гугле или чат с искусственным интеллектом для получения ответов? (Хотя и вариант с другом за экраном тоже вполне реален) И так как этим вечером было свободное время, я решил разработать софт в качестве Proof of Concept, который автоматизирует прохождение интервью.
Итак, первым делом нам нужно как то решать задачи на выбранном языке программирования и с вменяемой алгоритмической сложностью по скорости и памяти, то есть хотя бы средний уровень с LeetCode или CodeWars. И логично что во время популярности ChatGPT, использовать его в этом ПО на полную, для получения готового решения без затрат сахара в уже и так натруженном мозгу. И тут, сразу при старте анализа, я наткнулся на один тонкий момент: многие платформы для проведения код интервью, не позволяют копировать текст с их страницы. Однако, это сейчас несложно обойти, поскольку распознавание текста с изображений уже далеко не новинка. То есть, сделав снимок экрана с задачей вы можете с него распознать текст и отправив его в нейросеть, получить весьма неплохой ответ с решением по сложности O(n) по скорости и памяти, а также максимально подробными пояснениями для всех популярных задач прямо к примеру, в Telegram. Вжух, всё работает и даже лучше чем я ожидал, ведь от скриншота до получения ответа проходит примерно 10 секунд, что в условиях реального интервью вообще считаю не критично.
А как насчет ответов на вопросы заданных голосом?
Оказалось, что и это тоже просто. Существуют небольшие модели для распознавания аудио с небольшим весом до 2 ГБ (используют до 16 ГБ в оперативной памяти во время работы), которые могут быть установлены локально и они оказалось что, довольно неплохо распознают речь. Отдают вам распознанный с аудио текст, почти в реальном времени (хотя бы даже и с небольшими огрехами) и далее повторяется та же схема с ChatGPT где нейросеть всё равно поймёт ваш вопрос довольно точно и вы получите подробный ответ в Telegram, хотя читать оттуда его конечно тот ещё прикол.
Ок, а как можно избежать читинга подобного рода ?
Самый основательный подход конечно же иметь свою платформу для проведения код интервью, куда можно добавить функционал который я опишу ниже (кстати зовите меня на позицию РО/РМ если у вас уже есть такая или планируется).
Но есть и несколько совсем простых советов. Во-первых, всегда просите собеседуемого демонстрировать свой экран, поскольку окно с ответами может быть открыто прямо на его основном мониторе и ещё я слышал о практике когда камера должна смотреть на интервьюируемого именно сбоку, для фиксации дополнительных устройств (к примеру IPad). Ещё не лишним будет его попросить нажать alt+tab для просмотра запущенных консольных приложений, хотя тут довольно спорно ведь нет проблемы сделать удалённый сервер, а горячие клавиши можно сконфигурировать и с расширения в Chrome.
Но вот если у вас есть собственная платформа для проведения код интервью, в ней следует активно противодействовать попыткам читинга, фиксируя к примеру нажатие служебных клавиш по которым совершается скриншот или любых других комбинаций, а также переключение между вкладками. Кроме того, платформа должна генерировать подробный отчет в реальном времени о всех перечисленных случаях и сохранять его для дальнейшего анализа, который позволит быстро обнаружить и предотвратить любые попытки недобросовестного поведения. К примеру одна из известных платформ фиксирует уход юзера с вкладки, но во первых на это отображение нужно смотреть чтобы об этом узнать и плюс она не отдаёт сохранённый отчёт о таких действиях после. Также, будет полезно к вашим шаблонным задачам, иметь и именно видеть типичный ответ от нейронной сети рядом с кодом собеседуемого, чтобы сравнивать их, ведь согласитесь стопроцентного соответствия случайно быть не может.
Также, одним из методов но немного конечно спорным является видеораспознавание. Мы можем использовать алгоритмы, которые анализируют движения глаз, чтобы определить, на чём собеседуемый сосредоточен. Это позволит обнаружить читинг, основанный на чтении материалов или получении другой несанкционированной помощи. Кроме того, совместно с видеозаписью нужно и крайне полезно создавать полную транскрибацию аудио от обоих участников, это позволит более детально анализировать процесс (сравнение с ответом ChatGPT — тут автоматическое) и выявлять любые подозрительные практики. Ведь у вас к примеру тоже бывало когда после интервью, вам ещё раз хотелось пересмотреть некоторые моменты, но скачивать видео и искать этот кусочек слишком долго. Поиском же по тексту это место найдётся моментально. Да и как мы все понимаем, с течением времени хранить все интервью как видео слишком затратно и простой текст в долгосрочной перспективе однозначно неплохой вариант.
Вместо итога. Я вполне допускаю что подобный описанный функционал уже в разработке у широко известных платформ или есть в ближайших планах, но вы конечно всегда можете запилить свой стартап быстрее этих неповоротливых слонов.
ссылка на оригинал статьи https://habr.com/ru/articles/748360/
Добавить комментарий