Java: финальное собеседование Senior по soft skills
Запись финального собеседования на позицию Senior Java-разработчика с фокусом на soft skills и инженерные практики. Кандидат рассказывает о командных процессах, приоритизации, техдолге, декомпозиции и оценке задач, менторстве и code review; отдельно обсуждаются PostgreSQL, тестирование и CI/CD. Во второй части интервьюер описывает команду и проект, для которого ищут разработчика.
Финальный этап собеседования на Senior Java-позицию. Интервьюер уточняет опыт кандидата: состав команды, распределение ролей, работу с аналитиками и продуктом, определение приоритетов. Затем обсуждаются обоснование техдолга и рефакторинга, декомпозиция и оценка крупных задач, адаптация новых разработчиков и урегулирование разногласий в code review. В технической части кандидат отвечает о диагностике медленных запросов PostgreSQL, покрытии и уровнях тестирования с JUnit 5, Testcontainers, WireMock и Mockito, а также об опыте Jenkins и TeamCity. После вопросов интервьюер рассказывает о backend-проекте с Kotlin/Java, Spring Boot, PostgreSQL, Kafka, Redis и Camunda Zeebe, интеграциях и планах команды.
Обосновывайте техдолг и рефакторинг через последствия для продукта: риски, стоимость будущих изменений и ожидаемый результат; оформляйте работу как конкретные приоритизируемые задачи.
При оценке крупных инициатив отделяйте трудозатраты разработки от внешних зависимостей, например миграций инфраструктуры, и явно фиксируйте допущения оценки.
Используйте code review и для контроля качества, и для обмена экспертизой; если текстовое обсуждение затягивается, созванивайтесь, а с ростом команды распределяйте ответственность ревьюеров.
В PostgreSQL EXPLAIN показывает план и оценки планировщика, а EXPLAIN ANALYZE выполняет запрос и выводит фактические показатели — это важно при диагностике медленных запросов.
Различайте unit-тесты и интеграционные или сквозные проверки: Testcontainers и WireMock помогают проверять взаимодействия компонентов, а Mockito подходит для изолированных unit-тестов.