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

Мок-собеседование Java-разработчика: live refactoring

В первом кейсе кандидат рефакторит код подсчёта очков в игре Yatzy, используя коллекции и упрощая условия. Во втором он улучшает Spring-контроллер регистрации автомобилей, DTO и работу с репозиторием.

Источник: IT Ментор | Сергей Жуков

Открыть на YouTube

Таймлайн

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

Интервьюер проводит mock-собеседование на Java Developer в непрерывном режиме рефакторинга. Первый кейс основан на Yatzy Refactoring Kata: кандидат читает код подсчёта очков, ищет повторения и использует Set и Map, чтобы сделать проверки комбинаций яснее. Интервьюер оценивает не только конечный код, но и умение пользоваться IDE, объяснять решения и постепенно улучшать дизайн. Во втором кейсе участники разбирают Spring-приложение для регистрации автомобилей. Кандидат замечает прямой доступ контроллера к репозиторию, нестрого типизированный JSON и дублирование работы с данными, после чего предлагает сервисный слой и DTO. В финале ведущий обсуждает выбор между собственным SQL и возможностями Spring Data.

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

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

  • Рефакторинг стоит начинать с понятного описания поведения и повторяющихся ветвей кода.
  • Set помогает выразить проверку уникальности значений без ручного обхода массива.
  • Контроллеру не следует напрямую содержать логику доступа к репозиторию; её выносят в сервис.
  • DTO делает контракт API явнее, чем произвольный JSON-объект.
  • В Spring Data часть простых запросов можно выразить именем метода репозитория.

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