Вернуться в каталог собеседований

Гриша Скобелев, Саша Бармин: Публичное собеседование Senior Software Engineer

Публичное учебное интервью по Java для Senior-уровня с разбором архитектуры, JVM, многопоточности и задач на рассуждение. В финале участники обсуждают процесс найма, system design и вопросы кандидата к работодателю.

{ между скобок }
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 25,2 тыс.
  • Лайки на YouTube: 609
Открыть на YouTube

Таймлайн

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

Это публичное мок-собеседование на Senior Java-разработчика: Гриша Скобелев интервьюирует Сашу Бармина, который рассказывает о своём опыте проектирования банковского бэкенда в AWS с мульти-региональной репликацией. Техническая часть охватывает SOLID, TDD, Spring, профилирование JVM, выбор GC, надёжную доставку сообщений через Kafka и внешние вызовы из транзакций. В live-coding-секции разбирают исключения, Java Memory Model, синхронизацию, concurrent-коллекции и проектирование парсера строк; затем участники обсуждают вопросы кандидата, system design и устройство интервью.

Затронутые темы

Что взять на заметку

  • Начинать рассказ о проекте стоит с бизнес-контекста и ограничений: кандидат связал свой опыт банковского онбординга с вымышленным международным сервисом ветеринарных клиник.
  • Для надёжной отправки событий участники предлагают transactional outbox/inbox, выбор семантики доставки и дедупликацию сообщений на стороне consumer.
  • Удалённый HTTP-вызов внутри транзакции создаёт неоднозначные состояния при сетевых сбоях; в обсуждении предлагают хранить запросы для повторов, применять backoff, буферизацию и отслеживать состояние обработки.
  • Dependency Inversion Principle отделяют от Dependency Injection: первый задаёт зависимость от абстракций, а второй является способом предоставления зависимостей через IoC-контейнер Spring.
  • Для общего счётчика недостаточно полагаться на порядок запуска потоков: нужно обеспечить happens-before, например через Thread.join; для атомарных операций подходят Atomic-типы или синхронизация.
  • В задаче с парсером сначала следует уточнить требования к дубликатам ключей, порядку элементов и необходимости возвращать исходную строку: от этого зависит выбор HashMap, LinkedHashMap и стратегии хранения.
  • Кандидату полезно спрашивать о реальной инженерной культуре, переработках, критериях роста, бюджете на повышение и взаимодействии между командами, а не ограничиваться декларациями об Agile и performance review.

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