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

Тестовое собеседование Java разработчика #28 - Леонид Земенков

Тестовое интервью Java-разработчика: карьерный опыт кандидата, алгоритмическая задача на скользящее окно и проектирование масштабируемого web scraper для агрегирования объявлений.

Eugene Suleimanov
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 12,6 тыс.
  • Лайки на YouTube: 336
Открыть на YouTube

Таймлайн

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

Тестовое собеседование Java-разработчика с Леонидом Земенковым: кандидат подробно описывает путь от самостоятельного обучения и работы в Сбербанке до Яндекс.Музыки, AliExpress Россия и текущего неназванного американского страхового стартапа. Он разбирает свои задачи по интеграциям, нормализации и обогащению данных, оптимизации сопоставления компаний, релизному процессу и дежурствам. Во второй части кандидат решает задачу о максимальной длине подстроки без повторов через скользящее окно и HashMap, затем проектирует систему сбора и сравнения объявлений с площадок; интервьюер в финале отмечает хорошее решение задачи и общую логику, но указывает на пробелы в инфраструктурной терминологии и DevOps-аспектах.

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

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

  • Опыт полезно рассказывать через конкретную ответственность и результат: кандидат описывает микросервис цен и остатков при декомпозиции монолита AliExpress, а также интерфейс управления множеством товарных фидов.
  • Для задач entity matching стоит объяснять полный путь: нормализация названий и кодов, критерии дублей, проверка качества слияния и устранение узкого места; кандидат вынес варианты старых названий компаний в отдельную таблицу.
  • При описании фичи важно показать цикл от исследования и схем до обсуждения в команде, декомпозиции Epic на независимые подзадачи и поэтапного включения новой обработки рядом со старой.
  • Для задачи о подстроке без повторяющихся символов нужен sliding window и HashMap «символ → последний индекс»; левую границу следует сдвигать на max(left, lastIndex + 1), сохраняя максимум длины. Заявленная сложность — O(n) по времени и O(n) по памяти.
  • На интервью по эксплуатации полезно уметь объяснить ownership разработчика: code review, автоматизированный деплой, алерты, ротацию дежурств, оценку критичности инцидента и rollback при неудачном релизе.
  • В system design сначала отделяйте функциональные требования от расчётов нагрузки и ресурсов: в обсуждении оценены 300 млн объявлений в сутки и около 3,5 тыс. объявлений в секунду, но интервьюер отдельно уточняет различие этих категорий.
  • Для агрегатора объявлений важны отдельные слои: адаптеры источников, сырое хранилище, унификация, сопоставление товаров между площадками, поисковое представление и отдельное объектное хранилище медиа.

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