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

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

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

Источник: Eugene Suleimanov

Открыть на 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.

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

1 ч 47 мин
BackendSenior

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

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

50 мин
BackendSenior

Тестовое собеседование Java разработчика #19 - Михаил Гончаренко

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