Как ответить
Вопрос «Почему это нужно?» на собеседовании проверяет не столько знание синтаксиса, сколько умение обосновать техническое решение с точки зрения бизнеса, архитектуры и последствий. JR-разработчику важно показать, что он не просто копирует код, а понимает, зачем писать именно так, а не иначе.
В ответе стоит раскрыть три уровня обоснования:
- Бизнес-ценность: решение решает конкретную проблему (ускоряет разработку, снижает баги, уменьшает cost of change).
- Технический контекст: почему этот подход лучше других доступных (производительность, читаемость, масштабируемость).
- Альтернативы и риски: что будет, если не делать, и как мы избегаем типовых ошибок.
Пример. Допустим, спрашивают про валидацию входных данных в REST API. Правильный ответ:
- Это нужно, чтобы гарантировать целостность данных и защиту от инъекций. Если не валидировать, в базу могут попасть некорректные значения, которые вызовут падение сервиса или утечку.
- Валидация на уровне API (DTO с аннотациями @NotNull, @Size) обрабатывается быстрее, чем ручная проверка в каждом сервисе, и не дублируется. Она также автоматически генерирует понятные ошибки для клиента (HTTP 400).
- Без валидации (например, полагаться только на фронтенд) мы получаем 500-е ошибки при вставке и сложное логирование. Вариант «доверять всем запросам» приводит к SQL-инъекциям и отказам БД.
В итоге ответ показывает, что кандидат связывает решение с реальными последствиями, а не просто знает «так принято».