Этап 5 из 11 · ≈ 4 ч

Современная Java

Основа с Junior

var, records, sealed-типы, pattern matching, текстовые блоки и switch-выражения.

Что важно знать

  • Records — неизменяемые носители данных с готовыми equals, hashCode, toString.
  • Sealed-типы ограничивают наследников; вместе с pattern matching в switch компилятор проверяет полноту.
  • LTS-версии: 17, 21, 25; в проектах чаще 17 и 21.

Критерии освоения

Junior ≈ 4 ч

  • Использует records для DTO и switch-выражения

Практика. Перевести DTO учебного проекта на records.

Middle ≈ 4 ч

  • Моделирует варианты данных sealed-интерфейсами и обрабатывает их pattern matching
  • Знает, какие возможности появились в LTS-версиях 17 и 21

Практика. Описать результат операции (успех, ошибка валидации, ошибка системы) sealed-иерархией и обработать switch с pattern matching.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Что верно про var (Java 10)?Junior

var — статический вывод типа компилятором из инициализатора; тип фиксируется при компиляции, динамики нет.

Полный разбор
Чем switch-выражение (case L -> …) надёжнее старого switch?Middle

Стрелочный case L -> не проваливается и не требует break; switch-выражение возвращает значение (для блока — yield); по enum и sealed-типам компилятор проверяет полноту — забытый вариант даёт ошибку компиляции.

Полный разбор
Для чего предназначен record?Junior

record — компактный неизменяемый носитель данных: поля в заголовке, а конструктор, аксессоры, equals, hashCode и toString создаёт компилятор.

Полный разбор
Что верно про record в Java?Middle

Компилятор генерирует private final поля, канонический конструктор, аксессоры (name(), без get), equals, hashCode, toString по всем компонентам. Record неявно final, наследует java.lang.Record и не может расширять другой класс, но реализует интерфейсы…

Полный разбор
Что делает модификатор sealed у класса или интерфейса?Junior

sealed ограничивает список наследников: наследовать или реализовывать могут только перечисленные в permits типы.

Полный разбор
Когда record — неудачный выбор?Middle

Record прозрачен: компоненты — публичный контракт. Не подходит для изменяемых сущностей со скрытым представлением и охраняемыми инвариантами, для JPA-сущностей (нужны конструктор без аргументов, изменяемость, прокси), для иерархий наследования.

Полный разбор
Что дают switch-выражения, text blocks и сопоставление с образцом в современной Java?Junior

Switch-выражение (Java 14) возвращает значение, использует стрелки case A -> ... без проваливания и требует покрыть все варианты (для enum и sealed — проверяет компилятор). Text blocks (Java 15) — многострочные строки в тройных кавычках """ без экранирования…

Полный разбор

Разборы темы

← Вся карта «Java»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования