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

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

Открыть редактор Java
Бесплатно, без регистрацииКак провести лайвкодинг-собеседование на JavaСовместный редактор кода: сравнение сервисов

Пример кода

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

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

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

Задачи на Java с проверкой онлайн

Ограничения

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

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

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

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