Как часто приходится повторять одно и то же в работе
Что проверяют
Как вы относитесь к рутине и что с ней делаете: терпите, жалуетесь или автоматизируете. В Android вопрос предметный, шаблонного кода здесь много: экраны, ViewModel, модули DI, релизы. Следом обычно просят пример того, что вы автоматизировали сами, и спрашивают, где граница между полезным переиспользованием и лишней абстракцией.
Как отвечать
Честно признайте, что повторение есть, и разделите его на два вида. Одно полезно само по себе: код-ревью, регресс перед релизом, обновление зависимостей. Другое сигнал к автоматизации. Каркас с примерами из Android:
- UI: общие composable-компоненты и дизайн-система вместо копирования кнопок и полей по экранам, оформление через
MaterialTheme; - сборка: convention plugins в
build-logicвместо одинаковых блоковandroid {}в каждом модуле, версии зависимостей вlibs.versions.toml; - шаблоны кода: live templates и file templates в Android Studio для экрана с
ViewModel, состоянием и навигацией; - проверки: Android Lint, detekt и ktlint в CI, чтобы не повторять одни и те же замечания на ревью;
- релизы: сборка, подпись и выкладка через CI и Fastlane вместо ручной сборки AAB перед каждой публикацией.
Дальше пример из своего опыта: что повторялось, сколько времени съедало, что сделали и что изменилось. Цифру берите реальную, пусть грубую: «новый модуль стал подключаться за полчаса вместо полдня». Если коммерческого опыта мало, покажите то же на пет-проекте, например вынесенную в плагин конфигурацию Gradle.
Хорошо добавить про границу: общий компонент имеет смысл, когда одинаковый код встретился в третий раз, а не когда кажется, что он может когда-нибудь понадобиться.
Где спотыкаются
Говорят, что повторения в работе нет вовсе. Звучит неправдоподобно и выдаёт, что вы его просто не замечаете.
Жалуются на рутину без решения. Интервьюер слышит сотрудника, которому скучно, а не того, кто сэкономит команде время на однообразных задачах.
Уходят в обратную крайность и выносят в общую библиотеку всё подряд. BaseFragment с десятком параметров, который никто не решается поменять, тоже повторение, только дороже.