Если бы стартовал проект с нуля, какие технологии бы использовал и почему
Что проверяют
Умеете ли вы выбирать технологии от задачи, а не от моды, и понимаете ли цену каждого решения. Следом обычно просят назвать, от чего вы бы сознательно отказались на старте и при каких условиях передумали бы.
Как отвечать
Начните с уточнений, без них выбор стека пустой: что за продукт, какая ожидаемая нагрузка, сколько людей в команде и что они уже знают, какие сроки. Затем дайте конкретный стек с одной причиной на каждый пункт. Для типичного бэкенда на Java это может выглядеть так:
- Java 21 или 25: LTS-версии с виртуальными потоками, record-классами и pattern matching. Виртуальные потоки позволяют писать обычный блокирующий код и держать тысячи одновременных запросов без реактивного стека;
- Spring Boot: большой рынок специалистов, готовые интеграции, Actuator для health check и метрик. Альтернатива Quarkus или Micronaut, если важны быстрый старт и нативная сборка через GraalVM;
- PostgreSQL: транзакции,
JSONB, расширения. Миграции через Flyway или Liquibase с первого дня; - модульный монолит: один деплой, модули с явными границами. Микросервисы дороги в эксплуатации, их выделяют позже и по реальной причине;
- тесты: JUnit 5, AssertJ, Testcontainers для интеграционных тестов с настоящей базой;
- инфраструктура: Docker, CI в GitLab CI или GitHub Actions, метрики через Micrometer и OpenTelemetry. Kubernetes, только если он уже есть в компании.
Хороший ответ заканчивается условиями пересмотра: «если команда пишет на Kotlin, возьму Kotlin», «Kafka добавлю, когда у событий появится второй потребитель».
Если с нуля проект вы не запускали, так и скажите и опишите, что поменяли бы в стеке нынешнего проекта и почему. Это тот же навык, только на знакомом материале.
Где спотыкаются
Перечисляют модные слова без причин: «Kafka, Kubernetes, микросервисы». Интервьюер тут же спросит, зачем Kafka сервису на сто пользователей.
Проектируют под нагрузку, которой нет. Микросервисы и Kubernetes для команды из трёх человек съедят больше времени, чем разработка продукта.
Называют технологии, с которыми сами не работали. Следующий вопрос будет про детали, и ответ развалится.