Новый уровень ИТ-практик: Импульс Т1 снова в Москве 🚀
19 ноября столица примет ИТ-конференцию Импульс Т1. Мы создаём среду, где специалисты получают не просто полезную информацию, а рабочие инструменты, применимые в проектах уже на следующий день.
Уникальный формат — учимся через действие: каждый участник собирает индивидуальный трек, объединяя доклады и практические тренажеры. Среди них ⬇️
🔘Код-ретрит – оттачиваем инженерные практики, парное программирование и TDD;
🔘Зона арх-каты – разбираем архитектурные кейсы, ищем уязвимости и моделируем решения на интерактивной карте;
🔘Ресурсные игры – проверяем командные коммуникации и скорость принятия решений в условиях жестких ограничений;
🔘Стенд доступности – тестируем интерфейсы и сценарии с точки зрения инклюзивности и доступной среды.
Ваше участие — это возможность:
✔️ прокачать практические навыки на реальных задачах;
✔️ поделиться опытом и создать сильное профессиональное окружение вокруг себя;
✔️забрать передовые практики раньше конкурентов.
📆 Дата: 19 ноября 2026 года.
📍 Место: г. Москва, ул. Волочаевская, д. 48, стр. 1, Дворец культуры завода «Серп и молот» (LOFT#8).
Покажите экспертизу на деле, осваивайте новейшие подходы и двигайте ИТ-индустрию вперёд! Регистрация по ссылке.
👾 — 2, затем A и B
👍 — 2, затем IllegalStateException
🥰 — Только 2, без исключения
⚡️ — Ошибка компиляции
Ответ: 👍 — 2, затем IllegalStateException.
count — терминальная операция: поток уже использован. В OpenJDK 21 повторная терминальная операция на этом Stream.of вызывает IllegalStateException. Чтобы снова обработать те же данные, нужно создать новый поток из источника.
❓ Какое исключение сохранится, если ошиблись и try, и close?
OpenJDK 21. Что выведет код? Нужные импорты подключены.
class Demo {
static class Resource implements AutoCloseable {
public void close() {
throw new IllegalStateException("close");
}
}
public static void main(String[] args) {
try (var resource = new Resource()) {
throw new IllegalArgumentException("body");
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println(
e.getSuppressed()[0].getMessage()
);
}
}
}
👾 — close, затем body
👍 — Только close
🥰 — Ошибка компиляции
⚡️ — body, затем close
Ответ: ⚡️ — body, затем close.
В try-with-resources исключение из тела остаётся основным. Ошибка при закрытии ресурса добавляется к нему как подавленная и доступна через getSuppressed(). Поэтому e содержит ошибку с сообщением body, а первый подавленный элемент — ошибку close.
❓ Что останется в StringBuilder после переназначения параметра?
OpenJDK 21. Что выведет код? Нужные импорты подключены.
class Demo {
static void change(StringBuilder text) {
text.append("B");
text = new StringBuilder("C");
text.append("D");
}
public static void main(String[] args) {
var text = new StringBuilder("A");
change(text);
System.out.println(text);
}
}
👾 — AB
👍 — CD
🥰 — ABCD
⚡️ — Ошибка компиляции
Ответ: 👾 — AB.
Java передаёт значение ссылки. Сначала параметр text и переменная вызывающего кода указывают на один StringBuilder, поэтому append("B") виден снаружи. Затем параметр получает ссылку на другой объект. Это не переназначает переменную в main.
subList возвращает представление части списка, связанное с исходным списком. Индекс 1 включён, индекс 3 не включён: middle содержит 2 и 3. Вызов clear удаляет эти элементы из исходного ArrayList.