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

Java Live Coding: мок-собеседование с Senior-разработчиком

Мок-собеседование по Java в live coding-формате: кандидат проектирует обработку заказа с платёжными и складскими сервисами, обсуждает внедрение зависимостей и ленивую инициализацию. Затем решает задачи на пересечение списков и LRU-кэш на LinkedHashMap; в конце получает обратную связь по уровню и обсуждает подготовку к интервью.

Источник: ШОРТКАТ — менторская программа

Открыть на YouTube

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

Запись публичного мок-собеседования с Java-разработчиком, позиционирующим себя как Senior. В архитектурной задаче кандидат проектирует OrderProcessor, PaymentService и InventoryService: обсуждаются интерфейсы, SOLID, конструкторная инъекция зависимостей, обработка ошибок и тестовая заглушка склада. Интервьюер предлагает обёртку над PaymentService с Supplier для ленивого создания дорогого сервиса. Далее кандидат решает пересечение двух списков строк через Stream API и retainAll, а затем реализует ограниченный LRU-кэш на LinkedHashMap. В финале ведущий оценивает прохождение предварительного live coding-этапа и отвечает на вопросы аудитории о подготовке к интервью.

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

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

  • Выносить работу с оплатой и остатками за интерфейсы, чтобы OrderProcessor не зависел от конкретных интеграций.
  • Передавать зависимости через конструктор, чтобы их можно было заменить тестовыми реализациями.
  • Для дорогого сервиса можно использовать ленивую обёртку с Supplier и сохранить созданный экземпляр для повторных вызовов.
  • retainAll изменяет список-получатель и возвращает только признак изменения, поэтому для пересечения списков нужен отдельный result-список.
  • Простой ограниченный LRU-кэш можно построить на LinkedHashMap с порядком доступа и переопределением removeEldestEntry.

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