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

Проведите собеседование по Java в общем редакторе: кандидат пишет код, компилирует и запускает его, а вы видите каждую правку и результат в реальном времени. Бесплатно, без регистрации и без установки JDK.

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

Пример кода

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Map<Character, Integer> counts = new TreeMap<>();
        for (char c : "interview".toCharArray()) {
            counts.merge(c, 1, Integer::sum);
        }
        System.out.println(counts);
    }
}

Вывод

{e=2, i=2, n=1, r=1, t=1, v=1, w=1}

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

  • Java 15: код компилируется и выполняется на сервере в изолированной песочнице, ошибки компиляции и вывод видят все участники.
  • Совместное редактирование в реальном времени: до 5 участников, правки и курсоры видны сразу.
  • Условие задачи в Markdown прямо в сессии, рядом с кодом.
  • Точка входа — метод main в классе Main, как в примере выше; вспомогательные классы объявляйте в том же файле ниже него.
  • После бесплатного входа — банк задач, режим интервью с таймерами, оценка кандидата и история собеседований.

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

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

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

  • Как устроен HashMap и почему важно согласованно переопределять equals и hashCode.
  • Сгруппировать и посчитать данные с помощью Stream API и Collectors.groupingBy.
  • Реализовать LRU-кэш на основе LinkedHashMap.
  • Проверить скобочную последовательность с помощью Deque.
  • Потокобезопасный счётчик: synchronized против AtomicInteger.
  • Спроектировать неизменяемый класс и объяснить, зачем нужны final-поля.

Ограничения

  • Версия — Java 15: switch-выражения и текстовые блоки доступны, а record и sealed-классы в этой версии остаются превью-функциями и без специального флага не компилируются.
  • Автотестов для Java пока нет — проверяйте решение вызовами и выводом из main.
  • Нет ввода с клавиатуры: Scanner(System.in) увидит одну пустую строку и на этом ввод закончится — задавайте данные в коде.
  • Один запуск ограничен 3 секундами и 64 КБ вывода, а старт JVM занимает часть этого времени, поэтому тяжёлые вычисления могут не уложиться.

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

Какая версия Java используется?
Java 15. Код компилируется и запускается на сервере, поэтому версия одинакова у всех участников.
Как назвать класс с методом main?
Main, как в примере на этой странице, и он должен идти в файле первым. Вспомогательные классы объявляйте ниже него.
Есть ли автотесты для Java?
Пока нет. Проверяйте решение вызовами из main и выводом результата — так кандидату легко показать, как он тестирует свой код.
Нужна ли регистрация?
Нет. Создайте сессию, отправьте ссылку и начинайте. Вход нужен только для банка задач, режима интервью и истории.
Доступна ли стандартная библиотека?
Да, вся стандартная библиотека Java 15: коллекции, Stream API, java.time и java.util.concurrent. Сторонних библиотек вроде Guava нет — для задач собеседования они обычно и не нужны.

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