Устройство языка от ООП и контрактов объекта до JVM, сборщика
мусора и лайвкодинга на Core-секции собеседования
11 модулейJunior → Middle / SeniorИндивидуально с ментором
Для кого этот навык
Java-разработчики, которые хотят понимать не только «как использовать», но и «почему так устроено»
Те, кто готовится к Core-секции собеседования уровня Middle / Senior
Все, кто хочет уверенно отвечать на вопросы про контракт equals/hashCode, устройство HashMap, type erasure и сборщики мусора
Курс ведёт Алексей Ушаровский — backend-разработчик в высоконагруженных
системах, который регулярно проводит технические собеседования.
Разбираем не академическую теорию, а production-код, типичные ошибки
кандидатов и причины, по которым язык устроен именно так.
Программа
ООП в Java
Система типов и принципы проектирования
Классы и объекты, наследование против композиции, полиморфизм
Интерфейс против абстрактного класса, вложенные классы
Records, sealed-классы и enum
SOLID, DRY, KISS, YAGNI и GRASP — с мерой
Singleton как антипаттерн, рефакторинг switch в паттерн Стратегия
Контракты объекта
equals, hashCode, Comparable — и что ломается без них
Класс Object и его методы, равенство: == против equals
Контракт equals и связка hashCode с equals
Порядок объектов: Comparable и Comparator
Клонирование и иммутабельные классы
Строки, примитивы и обёртки
String pool, автоупаковка и деньги в BigDecimal
Почему String неизменяем и как устроен пул строковых литералов
StringBuilder и StringBuffer
Пароли: char[] вместо String
Примитивы и обёртки, BigDecimal и BigInteger
Исключения
Иерархия Throwable и работа с ресурсами
Иерархия Throwable, checked против unchecked
try-catch-finally и try-with-resources
Собственные исключения и валидация аргументов
Коллекции
JCF изнутри: от ArrayList до устройства HashMap
Иерархия JCF: Iterable, Collection и почему Map отдельно
ArrayList, LinkedList, ArrayDeque и PriorityQueue
Итераторы, fail-fast, иммутабельные коллекции
HashMap изнутри и требования к ключу
LinkedHashMap, TreeMap, Set-реализации, EnumMap и EnumSet
Дженерики
Type erasure, wildcards, PECS + 5 заданий
Обобщённые классы и методы, параметры типа (T/E/K/V/R)
Type erasure, raw types, unchecked warnings
Инвариантность дженериков против ковариантности массивов