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

Hidden text

Я специально опускаю все используемые технические инструменты, библиотеки и т.д. За пруфами в личку.

После проведения очередного интервью с товарищем проявляющим странное поведение, я задумался: а не использует ли он поиск в гугле или чат с искусственным интеллектом для получения ответов? (Хотя и вариант с другом за экраном тоже вполне реален) И так как этим вечером было свободное время, я решил разработать софт в качестве Proof of Concept, который автоматизирует прохождение интервью.

Итак, первым делом нам нужно как то решать задачи на выбранном языке программирования и с вменяемой алгоритмической сложностью по скорости и памяти, то есть хотя бы средний уровень с LeetCode или CodeWars. И логично что во время популярности ChatGPT, использовать его в этом ПО на полную, для получения готового решения без затрат сахара в уже и так натруженном мозгу. И тут, сразу при старте анализа, я наткнулся на один тонкий момент: многие платформы для проведения код интервью, не позволяют копировать текст с их страницы. Однако, это сейчас несложно обойти, поскольку распознавание текста с изображений уже далеко не новинка. То есть, сделав снимок экрана с задачей вы можете с него распознать текст и отправив его в нейросеть, получить весьма неплохой ответ с решением по сложности O(n) по скорости и памяти, а также максимально подробными пояснениями для всех популярных задач прямо к примеру, в Telegram. Вжух, всё работает и даже лучше чем я ожидал, ведь от скриншота до получения ответа проходит примерно 10 секунд, что в условиях реального интервью вообще считаю не критично.

А как насчет ответов на вопросы заданных голосом?

Оказалось, что и это тоже просто. Существуют небольшие модели для распознавания аудио с небольшим весом до 2 ГБ (используют до 16 ГБ в оперативной памяти во время работы), которые могут быть установлены локально и они оказалось что, довольно неплохо распознают речь. Отдают вам распознанный с аудио текст, почти в реальном времени (хотя бы даже и с небольшими огрехами) и далее повторяется та же схема с ChatGPT где нейросеть всё равно поймёт ваш вопрос довольно точно и вы получите подробный ответ в Telegram, хотя читать оттуда его конечно тот ещё прикол.

Ок, а как можно избежать читинга подобного рода ?

Самый основательный подход конечно же иметь свою платформу для проведения код интервью, куда можно добавить функционал который я опишу ниже (кстати зовите меня на позицию РО/РМ если у вас уже есть такая или планируется).

Но есть и несколько совсем простых советов. Во-первых, всегда просите собеседуемого демонстрировать свой экран, поскольку окно с ответами может быть открыто прямо на его основном мониторе и ещё я слышал о практике когда, камера должна смотреть на интервьюируемого именно сбоку, для фиксации дополнительных устройств (к примеру IPad). Ещё не лишним будет его попросить нажать alt+tab для просмотра запущенных консольных приложений, хотя тут довольно спорно ведь нет проблемы сделать удалённый сервер, а горячие клавиши можно сконфигурировать и с расширения в Chrome.

Но вот если у вас есть собственная платформа для проведения код интервью, в ней следует активно противодействовать попыткам читинга, фиксируя к примеру нажатие служебных клавиш по которым совершается скриншот или любых других комбинаций, а также переключение между вкладками. Кроме того, платформа должна генерировать подробный отчет в реальном времени о всех перечисленных случаях и сохранять его для дальнейшего анализа, который позволит быстро обнаружить и предотвратить любые попытки недобросовестного поведения. К примеру одна из известных платформ фиксирует уход юзера с вкладки, но во первых на это отображение нужно смотреть чтобы об этом узнать и плюс она не отдаёт сохранённый отчёт о таких действиях после. Также, будет полезно к вашим шаблонным задачам, иметь и именно видеть типичный ответ от нейронной сети рядом с кодом собеседуемого, чтобы сравнивать их, ведь согласитесь стопроцентного соответствия случайно быть не может.

Также, одним из методов но немного конечно спорным является видеораспознавание. Мы можем использовать алгоритмы, которые анализируют движения глаз, чтобы определить, на чём собеседуемый сосредоточен. Это позволит обнаружить читинг, основанный на чтении материалов или получении другой несанкционированной помощи. Кроме того, совместно с видеозаписью нужно и крайне полезно создавать полную транскрибацию аудио от обоих участников, это позволит более детально анализировать процесс (сравнение с ответом ChatGPT - тут автоматическое) и выявлять любые подозрительные практики. Ведь у вас к примеру тоже бывало когда после интервью, вам ещё раз хотелось пересмотреть некоторые моменты, но скачивать видео и искать этот кусочек слишком долго. Поиском же по тексту это место найдётся моментально. Да и как мы все понимаем, с течением времени хранить все интервью как видео слишком затратно и простой текст в долгосрочной перспективе однозначно неплохой вариант.

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

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


  1. nikonovn
    16.07.2023 19:45

    Блин, куда ни глянь - везде теперь ChatGPT, с одной стороны это здоровское экономия времени и сосредоточение не реальных задачах, которые может проанализировать и решить только человек ,блин - я не понимаю в целом ребят, которые за счет сторонних программ пытаются решить тесты и так далее, они пытаются что сделать? Ведь рано или поздно это вылезет им боком! Нужно быть умнее, чем ChatGPT ;)


    1. DrZliden
      16.07.2023 19:45
      +1

      блин — я не понимаю в целом ребят, которые за счет сторонних программ пытаются решить тесты и так далее, они пытаются что сделать?

      Устроится на работу.


      Ведь рано или поздно это вылезет им боком!

      Может выйдет, может нет. Насколько оно сильно выйдет сложный вопрос. Честно скажу первую работу я получил, при помощи друга и смс. Я не скажу, что мне прям удалось все обмануть и вот такой я хитрый ааахаха. Но это позволило мне пройти первую линию собеседования, и отправиться уже на разговор с тимлидом. Котоый задал половину вопросов из первого собеседования поговорил со по душам, и предложил работу чуть в другом направлении. Приходил я на С++ а работал совсем на другом языка хотя с примесью С++. Вышло мне это боком… очень сложный вопрос. Ничего из того, что было на собеседовании в коде организации не встретилось. (потом шутили с коллегами, что ищут человека который в этом разбирается и всех научит) Пропаботал я там не долго, но это был просто трамплин в профессию. Идя устраиваться кудато на вопрос где работали я просто говорил вон "там", и разговор со мной менялся, "там" абы кто не работает. В итоге так я нашёл вторую работу, а потом и перешёл на третью. Возможно просто не наступило ещё это самое поздно, но ни разу не жалел что врал на собеседовании.


  1. Keeper9
    16.07.2023 19:45
    +5

    Мы уже докатились до того, что ChatGPT проходит интервью у другого ChatGPT, или ещё нет?


    1. djkroq Автор
      16.07.2023 19:45
      +1

      Вроде уже да, где то используют его в качестве прескрининга


  1. QtRoS
    16.07.2023 19:45
    +1

    Существуют небольшие модели для распознавания аудио с небольшим весом до 2 ГБ

    Какие из моделей показались достойными внимания по качеству распознавания?



  1. BosonBeard
    16.07.2023 19:45
    +6

    Тот момент, когда понимаешь, что ты как дурак обычно месяц пишешь статью на Хабр, готовишь какие-то материалы, рисуешь картинки, работаешь над оформлением.
    А потом видишь пост "на отшибись", да еще и с саморекламой.


    1. djkroq Автор
      16.07.2023 19:45

      Ну вы правда ни слова не сказали про писал код. Я это время потратил на него


      1. BosonBeard
        16.07.2023 19:45
        +3

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

        P.S. "За пруфами в личку", это как "скинула цену в директ".


        1. djkroq Автор
          16.07.2023 19:45
          -6

          @adminтут шейминг инстаграмщиц


          1. Exosphere
            16.07.2023 19:45
            +2

            Ну, во-первых, не@admin, а @moderatorА во-вторых, точно не стоит дёргать с мнимыми поводами: где вы шейминг нашли-то? :-)


    1. Exosphere
      16.07.2023 19:45
      +1

      Вообще не надо так думать, потому что и результат чаще всего соответствующий. Аудитория по большей части всё правильно понимает и оценивает.


  1. lilkan
    16.07.2023 19:45
    +3

    Вы меня простите, но очень смеялся со статьи.
    В целом такие proof of concept неплохи, например для удаленного экзамена в вузах там или чем то подобным.
    Но для интервью?
    1) Если кандидат на техническом собесе применит все эти штуки с аудио и видео захватом + gpt и выдаст на задачи ответ быстрее чем самый разалгоритмированный умник в мире, то я его возьму)

    2) Надеюсь собеседование идет на ОЧЕНЬ высокую должность, что-то типо вице президента компании, иначе объяснить вебку, считывания движения глаз и нажатие клавиш я не могу) это какой то оверкил для собесов.

    3) Уличить кандидата в читинге достаточно легко, ответы на вопросы не появляются из ниоткуда, ты либо знаешь и решаешь с ходу без лага в 10 секунд, либо думаешь и я вижу КАК ты думаешь и ПОЧЕМУ ты принял такое решение. А волшебные озарения видны и без считывания движения глаз.

    4) В целом такая система достаточно дорогая для разработки и ее главный и адекватный конкурент это проводить (сюрприз) нормальные интервью без задач которые решает gpt за 10 секунд. При условии что вы боитесь жуликов, то спросите кандидата о своих задачах, о том что ему предстоит у вас делать, о его решеных задачах. О всем том чего не знает никто кроме него.

    В целом да, проблема и решение немного надуманны, особенно тот момент где кандидат ставит себе уйму стафа чтобы ответить на алгосики на 1 из 5 собесов. Если его задача устроиться просто КУДА-ТО то ему проще будет скипнуть вас с таким алькатрасом и пойти на следующий собес. Тут да, ваша система будет давать положительный результат)


    1. djkroq Автор
      16.07.2023 19:45

      Хороший тейк - само наличие такой системы будет отпугивать неуверенных кандидатов


    1. MiraclePtr
      16.07.2023 19:45
      +2

      Если кандидат на техническом собесе применит все эти штуки с аудио и видео захватом + gpt

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


    1. Germanets
      16.07.2023 19:45
      +3

      Если его задача устроиться просто КУДА-ТО то ему проще будет скипнуть вас с таким алькатрасом и пойти на следующий собес. Тут да, ваша система будет давать положительный результат)

      И ровно аналогично со всеми остальными кандидатами, если у вашей компании нет какой-то киллер-фичи типа зарплаты х2 и прочих плюшек, чтобы в неё тааак хотели все устраиваться. Хотите повыделываться, устроить собес как в топ-топ фирмы мира, попросить кандидата походить с вебкой по комнате, продемонстрировать текущее запущенное ПО и т.п. - получайте хороший минус в воронке кандидатов и соответствующую репутацию)


      1. djkroq Автор
        16.07.2023 19:45
        -1

        Тут я с вами полностью согласен что оверкил, но при этом как то же нужно фильтровать