Онлайн-редактор кода Python для собеседований

Откройте общий редактор Python, отправьте ссылку кандидату и решайте задачу вместе: оба видят код, курсоры и результат запуска в реальном времени. Бесплатно, без регистрации и без установки — всё работает в браузере.

Бесплатно, без регистрации

Пример кода

def two_sum(nums, target):
    seen = {}
    for i, x in enumerate(nums):
        if target - x in seen:
            return [seen[target - x], i]
        seen[x] = i
    return []


print(two_sum([2, 7, 11, 15], 9))  # [0, 1]

Вывод

[0, 1]

Что умеет редактор

  • Python 3.12: код выполняется на сервере в изолированной песочнице, поэтому версия одинакова у всех участников, а вывод и ошибки видят все.
  • Совместное редактирование в реальном времени: до 5 участников в одной сессии, правки и курсоры видны сразу.
  • Условие задачи пишется в Markdown прямо в сессии, рядом с кодом, — кандидату не нужно переключаться между вкладками.
  • Автотесты: если у задачи есть юнит-тесты, их можно запустить из сессии и сразу увидеть, сколько прошло.
  • После бесплатного входа — банк задач, режим интервью с плейлистом задач и таймерами, оценка кандидата и история собеседований.

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

  1. Нажмите «Открыть редактор Python» — сессия создастся сразу с примером кода, который можно стереть или взять за основу задачи.
  2. Напишите условие в Markdown и отправьте ссылку кандидату. Ему не нужна регистрация: он вводит имя и сразу попадает в редактор.
  3. Попросите кандидата рассуждать вслух и запускать код по ходу решения. Входные данные задавайте прямо в коде — ввода с клавиатуры в сессии нет.

Типичные задачи на собеседовании

  • Two Sum: найти пару чисел с заданной суммой — словарь вместо двойного цикла, разговор о сложности O(n).
  • Проверить правильность скобочной последовательности с помощью стека.
  • Сгруппировать слова-анаграммы через сортировку букв или collections.Counter.
  • Развернуть связный список и найти в нём цикл методом двух указателей.
  • Написать генератор: свой аналог range или построчное чтение большого файла без загрузки в память.
  • Написать декоратор, который замеряет время работы функции или кэширует результаты, и сравнить его с functools.lru_cache.

Ограничения

  • Нет ввода с клавиатуры: input() не получит данных, поэтому задавайте их в коде — списком, строкой или аргументами функции.
  • Один запуск ограничен 3 секундами и 64 КБ вывода — этого хватает для задач собеседования, но не для долгих вычислений.

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

Какая версия Python используется?
Python 3.12. Код выполняется на сервере, поэтому версия одинакова у всех участников и не зависит от того, что установлено на их компьютерах.
Можно ли запускать юнит-тесты?
Да. Если у задачи есть тесты, их можно запустить из сессии и увидеть, сколько прошло. Свои задачи с тестами и банк задач доступны после бесплатного входа.
Нужна ли кандидату регистрация?
Нет. Кандидат открывает ссылку, вводит имя и сразу видит редактор. Вам вход тоже не нужен, если не требуется сохранять историю собеседования.
Как передать программе входные данные?
Ввода с клавиатуры в сессии нет. Задайте данные прямо в коде: например, вызовите функцию с нужными аргументами или опишите тестовые случаи списком и пройдите по нему циклом.

Редактор для других языков