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

Тестовое собеседование Java разработчика #26 - Давид Костандян

Запись тестового Java-интервью: опыт кандидата, алгоритмическая задача и системный дизайн Twitter-подобного сервиса. В конце обсуждаются масштабирование, безопасность и Spring Boot.

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

Таймлайн

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

Это тестовое собеседование с Давидом Костандяном, backend Java-разработчиком из Еревана с заявленным опытом около трёх лет. Сначала он описывает опыт поддержки интернет-магазина на SAP Hybris и текущий безымянный продукт, который агрегирует сведения о людях для банков, затем — работу микросервисной команды, релизы, тесты и стек Java 17/Spring Boot/Kafka. Во второй половине кандидат решает задачу на разворот слов в строке и проходит системный дизайн аналога Twitter: требования, RPS, объём хранилища, файловое хранилище, кеширование, масштабирование, Docker, OAuth и JWT.

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

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

  • Для рассказа об опыте полезно чётко разделять прошлый проект на SAP Hybris и текущий банковский data-продукт, не раскрывая безымянную компанию.
  • Нужно уметь объяснить жизненный цикл задачи: устное уточнение, постановка, разработка, коммит в GitLab, code review, проверка на тестовом окружении и поэтапный релиз в production.
  • В задаче на разворот слов важно отдельно обработать ведущие, хвостовые и повторяющиеся пробелы; интервьюер указывает, что разделение только по одному пробелу может сохранить лишние пустые элементы и не пройти тесты.
  • Стоит уверенно обосновывать сложность алгоритма через размер входной строки: в обсуждённом варианте получаются линейные время и дополнительная память.
  • Для system design недостаточно назвать число пользователей: сначала нужно договориться о доле активных авторов, действиях читателей, частоте операций, размере медиа и о том, что именно считается запросом на чтение.
  • Следует различать throughput на запись и чтение, сетевую пропускную способность и постоянный объём хранения: чтения сами по себе не равны объёму данных, сохраняемых за день.
  • Для middle Java-интервью здесь проверяются практические основы: unit и integration-тесты, Java 8/17, Spring Boot, Kafka, кеширование, горизонтальное масштабирование, балансировка, OAuth и структура JWT.

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