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

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

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

Источник: Eugene Suleimanov

Открыть на 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 тыс. объявлений в секунду, но интервьюер отдельно уточняет различие этих категорий.
  • Для агрегатора объявлений важны отдельные слои: адаптеры источников, сырое хранилище, унификация, сопоставление товаров между площадками, поисковое представление и отдельное объектное хранилище медиа.

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

2 ч 40 мин
BackendMiddle

Открытое собеседование на Middle-Go разработчика

Открытый мок-интервью для Go-разработчика: разбор сложных тем Go, баз данных и системного дизайна, затем обратная связь кандидату и ответы на вопросы зрителей. Запись также содержит два больших рекламных блока менторской платформы Эйч Навыки.

2 ч 15 мин
BackendSenior

Собеседование senior backend-разработчика / Node.js | Хекслет

Длинное учебное интервью о проектировании backend-систем и инженерных компромиссах. Основные темы — шина сообщений в финтехе, Node.js-стек, тестирование, инфраструктура, производительность и культура разработки.