Онлайн-редактор кода 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, как в примере выше; вспомогательные классы объявляйте в том же файле ниже него.
- После бесплатного входа — банк задач, режим интервью с таймерами, оценка кандидата и история собеседований.
Как провести собеседование
- Нажмите «Открыть редактор Java» — сессия создастся с примером программы, которую можно заменить своей задачей.
- Опишите условие в Markdown и отправьте ссылку кандидату: регистрация ему не нужна.
- Пусть кандидат проверяет решение вызовами из 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 нет — для задач собеседования они обычно и не нужны.