Java Core, JVM и Spring
Вопросы по языку Java, устройству JVM и основным технологиям серверной разработки. Повтори типы, коллекции, многопоточность, работу с памятью, Spring и Hibernate. Выбери отдельную тему или запусти тренировку по разделу, чтобы проверить, что можешь объяснить без подсказок.
Темы раздела
- ООП, SOLID, CAP — Вопросы с ответами по ООП, SOLID, GRASP и теореме CAP. Сравни свой ответ с разбором и объясни принцип на примере.
- JVM и платформа — Вопросы о JDK, JRE и JVM: байткод, загрузка классов, JIT-компиляция и области памяти.
- Типы, строки, пулы — Примитивы и обёртки, приведение типов, передача параметров, строки и пулы в Java — вопросы с ответами.
- Классы и интерфейсы — Классы, абстрактные классы и интерфейсы, вложенные классы, модификаторы доступа и порядок инициализации в Java.
- Object, equals / hashCode — Методы класса Object и контракт equals/hashCode: сравнение объектов и работа в хеш-коллекциях.
- Исключения — Иерархия исключений Java, проверяемые и непроверяемые исключения, try-catch-finally и try-with-resources.
- Сериализация и клонирование — Serializable, Externalizable, serialVersionUID, поверхностное и глубокое копирование объектов в Java.
- Дженерики — Дженерики Java: стирание типов, wildcard, extends и super, принцип PECS — вопросы с разборами.
- Коллекции — Вопросы о коллекциях Java: списки, множества, отображения и очереди, стоимость операций и итераторы. Сравни свой ответ с разбором.
- Функциональные интерфейсы и Stream API — Stream API, лямбды, ссылки на методы, функциональные интерфейсы и Collectors — вопросы с ответами.
- java.time, Optional, Map API и новые версии — java.time, Optional, удобные методы Map и важные возможности Java 9–25: records, sealed, виртуальные потоки.
- Сборщики мусора — Сборка мусора в Java: поколения, сборщики HotSpot, паузы, виды ссылок, утечки памяти и диагностика.
- Многопоточка: основы — Многопоточность Java: потоки, synchronized, wait/notify, volatile, модель памяти, гонки и deadlock.
- java.util.concurrent и виртуальные потоки — ExecutorService, CompletableFuture, атомики и CAS, блокировки, синхронизаторы, конкурентные коллекции и виртуальные потоки.
- Реактивщина — Реактивное программирование в Java: Reactive Streams, backpressure, Reactor и Spring WebFlux.
- Hibernate / JPA / Spring Data JPA — Hibernate и JPA: маппинг, связи, жизненный цикл сущности, кеши, блокировки, проблема N+1 и Spring Data JPA.
- Spring: IoC/DI и жизненный цикл бина — Spring Core: IoC и внедрение зависимостей, ApplicationContext, жизненный цикл и скоупы бинов, прокси.
- Spring: @Transactional — Как работает @Transactional: propagation, откат, readOnly, уровни изоляции и типичные ошибки.
- Spring: модули, AOP, Boot и стартеры — Spring MVC, фильтры и интерсепторы, AOP, Spring Security, автоконфигурация Spring Boot и Actuator.
- Spring Data JDBC — Spring Data JDBC: агрегаты, сравнение с JPA, JdbcTemplate и JdbcClient.