Сценарий

ИИ на техническом собеседовании: задача на экране — решение уже у тебя

Live coding, скрининг с LeetCode-задачей, парное программирование — момент везде один: условие на экране, таймер в голове. Vizir выключает этот таймер: жмёшь ⌥C, затем ⌥↩ — он читает задачу прямо с экрана, и через пару секунд во вкладке «Решение» лежит код с подходом. Подсказки живут на невидимом оверлее, вне браузерного шеринга, — а печатаешь и отвечаешь ты сам.

Как это выглядит

Пример по репликам

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

ИнтервьюерОткрывай задачу: верни индекс первого неповторяющегося символа в строке.
VizirРешение → «Пройду строку дважды. Первый проход — считаю в словаре, сколько раз встречается каждый символ. Второй — возвращаю индекс первого символа со счётчиком один. По времени O(n), по памяти O(1): в словаре не больше символов алфавита.»
ТыИду двумя проходами: сначала частоты в словарь, потом ищу первый символ со счётчиком один — O(n).
ИнтервьюерПочему O(n), а не O(n²)?
VizirОбъяснение → «Каждый проход по строке линейный — это n шагов. Поиск в словаре — O(1) и на порядок не влияет. Значит суммарно O(n), квадрату тут взяться неоткуда.»
ТыОба прохода линейные, словарь даёт мгновенный доступ — итог O(n).

Что делает Vizir в этом сценарии

Снимок задачи

С экрана — во вкладку «Решение»

Условие в CoderPad, на LeetCode или в PDF — жми ⌥C: Vizir прочитает скриншот и соберёт код с подходом, с которого удобно начать рассказ.

Разбор по строкам

Просят объяснить код — объяснишь

Интервьюер показывает на цикл: «а это зачем?» ⌥↓ ведёт по строкам, ⌥⇧↓ выделяет спорные, ⌥E раскладывает, что они делают и сколько стоят по сложности.

Два канала

Слышит уточнения дословно

Vizir пишет интервьюера и тебя отдельными каналами, поэтому вопрос «а если строка пустая?» сразу попадает в контекст — следующая подсказка отвечает именно на него.

Вне шеринга

Вне браузерного шеринга

При шеринге вкладки или окна в Meet и веб-Zoom оверлея не видно; на Windows он скрыт и в нативных клиентах (гарантий на все версии захвата нет). Собеседование в нативном Zoom или Teams на macOS 15+ — подсказки переезжают на телефон-компаньон.

Формат

Как устроено это собеседование

Технический этап почти никогда не один. Сначала созвон с рекрутёром на 20-30 минут, потом техническая секция примерно на час; у крупных компаний секций несколько, иногда подряд в один день. Алгоритмическую часть ведёт разработчик твоего уровня или сильнее, задачу дают в общем редакторе: CoderPad, HackerRank, CodeSignal или расшаренный документ.

Этапы часа

Задач обычно две

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

Что проверяют

Ход важнее ответа

Смотрят, уточнил ли ты ограничения, проговорил ли подход до кода, назвал ли сложность сам и услышал ли подсказку. Сыплются на тишине — двадцать минут молчания в редакторе читаются как «не понял задачу» — и на краевых случаях: пустой вход, дубликаты, один элемент, переполнение.

Вопросы

Что спрашивают и как звучит подсказка

Пять формулировок, которые звучат чаще остального, и что в этот момент лежит на оверлее.

Хеш-таблицы

«Найди в массиве два числа, которые в сумме дают заданное значение»

Подсказка приходит готовой репликой: один проход, словарь уже виденного, на каждом шаге проверка дополнения до цели — и сразу оценка O(n). Начни с уточнения: бывают ли повторы и отрицательные числа, нужна одна пара или все.

Стек

«Проверь, правильно ли расставлены скобки в строке»

В подсказке каркас на два предложения: открывающие кладу в стек, на закрывающей сверяю вершину, в конце стек обязан быть пуст. Держи в уме пустую строку и лишнюю закрывающую в начале — на них и сыплются.

Связные списки

«Разверни односвязный список — и без рекурсии»

Vizir показывает три указателя и словами описывает каждый шаг, чтобы ты рассказывал, а не восстанавливал в голове. Скажи вслух, почему итеративный вариант тратит O(1) памяти, а рекурсивный — O(n) на стеке вызовов.

Деревья

«Найди наименьшего общего предка двух узлов»

Подсказка начинается с вопроса, который стоит задать самому: дерево поиска или произвольное — от этого зависит решение. Дальше рекурсивный спуск и три случая: оба узла слева, оба справа, разошлись — текущий узел и есть ответ.

Масштаб данных

«Как найти дубликаты в файле, который не влезает в память?»

Здесь ждут рассуждение, а не код, и Vizir выдаёт его по порядку: разбить на части по хешу ключа, обработать каждую отдельно, свести результат — либо внешняя сортировка. Назови сам цену: диск и лишние проходы по данным.

Ещё один разбор

Скользящее окно, по репликам

ИнтервьюерВторая задача: длина самой длинной подстроки без повторяющихся символов.
VizirРешение → «Иду скользящим окном. Правый край двигаю вперёд, символы держу в словаре с последней позицией. Встретил повтор — подтягиваю левый край за прошлую позицию этого символа. Максимум обновляю на каждом шаге. Один проход, O(n).»
ТыСкользящее окно: словарь последних позиций, при повторе двигаю левую границу — один проход, O(n).
ИнтервьюерХорошо. Добей краевые случаи, и пойдём к вопросам по проекту.

Частые вопросы

На каких языках программирования приходит решение?
Python, JavaScript/TypeScript, Java, C++, Go и другие ходовые. Vizir определяет язык по условию и коду на экране.
Успеет ли за темпом интервью?
Ответ приходит за пару секунд после ⌥↩ — в том числе по снятому ⌥C условию. Пока проговариваешь подход, код уже лежит во вкладке «Решение».
А если задачу диктуют голосом, без экрана?
Транскрипт ловит условие на слух: жми ⌥↩ — Vizir соберёт решение из услышанного. Скриншот нужен, только когда задача видна на экране.

Иди на следующий live coding с решением под рукой

3 дня и 30 минут речи бесплатно, карта не нужна. Поставь Визиря заранее и прогони через него пробную задачу — до собеседования, а не на нём.

Другие сценарии