SENIOR Java Собеседование | Backend-Mock интервью
Mock-интервью Senior Java-разработчика по Java, базам данных и микросервисной архитектуре. Теоретические ответы кандидата сопровождаются уточнениями интервьюера и примерами проектных решений.
Павел Сорокин
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 28,7 тыс.
- Лайки на YouTube: 746
Таймлайн
Коротко о видео
Это теоретическая часть mock-интервью с Данилом, которого ведущий представляет как Senior Java-разработчика. Обсуждаются Java Core, сборка мусора, HashMap, многопоточность, блокировки и транзакции в БД, индексы, микросервисы, Kafka и идемпотентность. Ведущий уточняет и дополняет ответы кандидата; в конце он высказывает мнение, что Данил справился достаточно хорошо, а live coding вынесен во вторую часть.
Затронутые темы
Что взять на заметку
- Подготовьте объяснение различий примитивов и объектов: размер данных, ссылки и накладные расходы обёрток, autoboxing/unboxing при арифметике.
- Повторите GC через поколения, Eden и Survivor, достижимость от GC Roots, stop-the-world паузы и назначение разных сборщиков.
- Умейте пошагово объяснить работу HashMap: расчёт bucket по hashCode, коллизии, обязательную проверку equals и различие между заменой значения и вставкой новой пары.
- Разделяйте deadlock и race condition: для первого нужны порядок захвата блокировок, сокращение вложенности или таймауты; для второго — синхронизация либо атомарные операции.
- Для optimistic locking подготовьте пример обновления с полем version и повтором операции при конфликте; для pessimistic locking — пример SELECT ... FOR UPDATE и риск зависших блокировок.
- Разберите уровни изоляции, dirty read, non-repeatable read и phantom read, отдельно отмечая особенности PostgreSQL относительно SQL-стандарта.
- Для распределённых систем подготовьте примеры Saga с оркестратором, stateless-сервисов для горизонтального масштабирования, репликации и шардирования БД, а также idempotency key для безопасных ретраев платежей.