Подготовка к собеседованиям
Эта карта нужна мне не как список «прочитать всё», а как порядок восстановления знаний. По каждой теме я сначала отвечаю без заметки, потом открываю карточку и закрываю пробел.
1. Java Core
- О языке Java
- Классы Java
- Класс Object
- Equals и hashCode
- Интерфейсы Java
- Наследование
- Обобщения generics
- Работа с исключениями в Java
- Immutable классы и данные
Контроль: могу объяснить контракт equals/hashCode, PECS, checked/unchecked exceptions, immutability и dynamic dispatch.
2. JVM
Контроль: отличаю runtime memory areas от JMM, понимаю class loading, roots GC, safe publication и причины data race.
3. Коллекции и Stream API
Контроль: выбираю структуру по операции, называю сложность, объясняю fail-fast iterator, backed view subList, lazy pipeline и side effects.
Реальная практика: Кейс subList изменил исходный список.
4. Многопоточность
- Многопоточность в Java
- Синхронизация в Java
- volatile
- Atomic типы данных
- Race condition
- deadlock
- Объект Future
- Фреймворк fork и join
Контроль: могу построить happens-before, отличить atomicity от visibility, выбрать lock/atomic/concurrent collection и разобрать deadlock.
5. SQL
- Многотабличные запросы операция JOIN
- Подзапросы
- Объединение запросов, оператор UNION
- Индексы SQL
- SQL оценка производительности
- Транзакции принцип ACID
- Изоляция транзакций
Контроль: пишу запрос, объясняю logical order, читаю plan, понимаю цену индекса и аномалии изоляции.
Реальная практика: Кейс фильтр поверх UNION.
6. JPA и Hibernate
- Persistence Context
- Жизненный цикл Entity в Hibernate
- Fetch type Hibernate
- Проблема N plus 1 Select Hibernate
- Entity Graph
- Transactional
Контроль: понимаю identity map, dirty checking, owning side, lazy loading, N+1 и границы транзакции.
Реальная практика: Кейс N plus 1 при обходе иерархии, Кейс исключение было проглочено внутри транзакции.
7. Spring
- Spring Dependency Injection и Inversion of Control
- Жизненный цикл бина
- Spring AOP
- Spring Boot
- Spring WEB
- Spring Data JPA
- Как Spring работает с транзакциями
Контроль: объясняю container, proxy, self-invocation, bean scopes, auto-configuration и обработку HTTP-запроса.
8. Web и интеграции
- Http протокол
- REST
- DNS
- SSL
- Kafka
- Circuit Breaker, Предохранитель, автоматический выключатель
- Camunda 7 и BPMN
Контроль: отличаю transport от application protocol, знаю семантику HTTP, delivery Kafka, retry/idempotency и transaction boundaries BPMN.
9. Алгоритмы и проектирование
- Big O
- Линейный и бинарный поиск
- Сортировка слиянием
- Быстрая сортировка
- Бинарное дерево
- Паттерны
- Принципы SOLID
Как прогоняю тему
- Даю ответ за 60–90 секунд.
- Рисую механизм или пишу минимальный код.
- Называю хотя бы одно ограничение.
- Отвечаю на встречный вопрос «почему?».
- Связываю тему с одним случаем из Инженерные кейсы.
Если могу только узнать правильный ответ глазами, но не восстановить его сам, тема ещё не повторена.