AuraOverlay Скачать

задача на экране и разбор поверх неё

Лайвкодинг: задача с экрана за одну клавишу

Нажали сочетание — приложение сняло экран, прочитало условие и код и показало разбор поверх редактора: решение, как его объяснить вслух и сложность.

macOS 14.2 и новее · Windows 10 и 11 · первые 30 минут бесплатно

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

Слева задача интервьюера, справа разбор

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

редактор интервьюера

Дан массив чисел и target. Вернуть индексы двух чисел, дающих в сумме target.

# nums = [2, 7, 11, 15], target = 9  ->  [0, 1]

def two_sum(nums, target):
    for i in range(len(nums)):
        for j in range(i + 1, len(nums)):
            # перебираю все пары — а если чисел сто тысяч?
разбор поверх редактора

Условие. Найти два числа, которые в сумме дают target, и вернуть их позиции. Числа берут по одному разу, ответ гарантированно есть.

  • Идём по массиву один раз и запоминаем, что уже видели.
  • Для каждого числа проверяем, встречалась ли раньше его недостающая половина.
  • Встретилась — ответ найден: её позиция и текущая.
def two_sum(nums, target):
    # число -> его позиция
    seen = {}
    for i, n in enumerate(nums):
        if target - n in seen:
            return [seen[target - n], i]
        seen[n] = i
    return []

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

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

что происходит после нажатия

Четыре шага, из которых три почти мгновенные

1 Снимок экрана Снимается тот экран, на котором сейчас курсор. Ни мышью, ни окнами двигать не нужно, редактор остаётся в фокусе.
2 Текст на устройстве Распознаёт система: Vision на macOS, Windows.Media.Ocr на Windows. Это десятые доли секунды и ничего не стоит.
3 Картинка и текст вместе Картинка даёт структуру — где условие, где тесты, где ваш код. Текст спасает мелочи: подчёркивания, скобки, отступы.
4 Ответ потоком Сначала формулировка задачи одной строкой, потом код, потом объяснение от первого лица и сложность. Код подсвечен.

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

снимок экрана 0,2 с
распознавание текста 0,4 с
модель до первого слова 1,5 с
весь разбор с кодом 6 с

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

вопросы вдогонку

Разобранная задача никуда не девается

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

интервьюер
+0:40
А если массив пустой?
окно
+1,3 с
· Цикл не выполнится ни разу, вернётся пустой список — падения нет
· Это стоит сказать вслух: «крайний случай обрабатывается сам, отдельной проверки не нужно» Вопрос короткий, но помощник знает, о каком коде речь.
интервьюер
+1:10
А переписать без словаря сможете?
окно
+1,5 с
· Отсортировать пары «значение, индекс» и идти двумя указателями с краёв
· Время O(n log n) на сортировку вместо O(n), зато без словаря — честный размен, о нём и говорите Ответ про ваш код, а не про абстрактную задачу из учебника.

где это работает

Приложение не знает про платформы — оно читает экран

Поэтому разницы между LeetCode, HackerRank, Codewars, CoderPad, общим редактором интервьюера и просто вставленным в чат условием нет.

Веб-тренажёры

Условие слева, редактор справа, тесты внизу — разбирается целиком, вместе с примерами.

Вернуть длину самой длинной подстроки без повторов

Общий редактор

Интервьюер пишет условие руками в тот же файл, где вы отвечаете. Тоже просто текст на экране.

Напишите функцию, которая склеивает два отсортированных списка

Локальная IDE

Задача в комментарии, код рядом, тесты в соседнем окне — снимается активный экран.

Почините этот метод так, чтобы тесты проходили

Скриншот в мессенджере

Условие прислали картинкой. Для приложения это ничем не отличается от страницы тренажёра.

Что выведет этот код и почему

Честное ограничение: очень мелкий шрифт и тёмная тема с низким контрастом читаются хуже. Если код набран восьмым кеглем, увеличьте масштаб редактора — распознавание на вашей машине станет точнее, а с ним и ответ.

честно

Чего разбор с экрана не сделает

  • Не напечатает код за вас. Курсор не двигается, в редактор ничего не вставляется. Решение вы переносите руками — и по дороге понимаете, что переносите.
  • Не заменит разговор о решении. После кода идёт самое важное: почему так, что на границах, чем платим за скорость. Объясняете это вы, помощник только даёт опоры.
  • Не работает тезисами. Короткие опоры есть для устных вопросов, а задачу с экрана приложение всегда разбирает целиком: по трём тезисам код не напишешь.
  • Не спрячется при показе всего экрана на macOS. С macOS 14 захват отдаёт картинку со всеми окнами поверх. Показывайте окно редактора — на Windows окно помощника скрыто от захвата и так.

вопросы

Коротко о главном

Как приложение понимает задачу на лайвкодинге?

По сочетанию клавиш оно делает снимок активного экрана и распознаёт текст средствами системы — Vision на macOS и Windows.Media.Ocr на Windows. Снимок и распознанный текст уходят модели вместе: картинку она видит целиком, а текст нужен, чтобы не терялись мелкие символы кода.

Можно ли задать вопрос по уже разобранной задаче?

Да. Следующие пятнадцать минут вопросы идут вместе с этой задачей и прошлым разбором, поэтому «а почему тут не сломается на нуле?» остаётся вопросом про ваш код, а не про абстрактную теорию.

Решение будет слишком сложным для интервью?

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

Нужно ли выделять условие мышью?

Нет. Снимается весь активный экран, а что на нём главное, модель определяет сама. Если задачи на экране нет, приложение так и скажет и запрос тратить не станет.

Сколько ждать ответ?

Первые строки появляются через пару секунд, дальше текст идёт потоком. Снимок и распознавание занимают доли секунды, остальное — время модели.

Интервьюер увидит разбор на демонстрации?

На Windows окно скрыто от захвата. На macOS 14 и новее показывайте окно редактора, а не экран целиком: системный захват всего экрана видит все окна поверх.

дальше

Разделы по теме

Проверьте на своей задаче

Первые 30 минут бесплатно — их хватает на один разговор. Дальше подписка по времени или пакет собеседований.

macOS 14.2 и новее · Windows 10 и 11