Вернуться в видеотеку

SENIOR Java Собеседование | Backend-Mock интервью

Mock-интервью Senior Java-разработчика по Java, базам данных и микросервисной архитектуре. Теоретические ответы кандидата сопровождаются уточнениями интервьюера и примерами проектных решений.

Источник: Павел Сорокин

Открыть на YouTube

Таймлайн

Коротко о видео

Это теоретическая часть 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 для безопасных ретраев платежей.

Рекомендуем посмотреть