Вопрос на собесе, который почти всегда недооценивают: **что плохого в null?**
Спойлер: проблема не в самом значении, а в том, что оно превращает код в минное поле.
### 3 вещи, которые должен сказать сильный кандидат:
1. **null ломает контракт функции**
Вместо одного понятного результата ты получаешь два сценария: «данные есть» и «данных нет». И если это не оговорено явно — привет, баги.
2. **null прячет ошибки до runtime**
Компилятор молчит, тесты могут не покрыть кейс, а прод уже лежит. Особенно весело в больших системах, где null гуляет через 5 слоёв.
3. **null усложняет чтение и поддержку**
Каждый доступ к полю/методу надо проверять. Код разрастается, логика дробится, а собеседования потом превращаются в поиск NPE по диагонали.
Как отвечать на собесе нормально:
- не ругать null как «зло абсолютное»;
- объяснить, **почему он опасен в конкретной архитектуре**;
- предложить альтернативы: `Optional`, явные ошибки, результат-тип, nullable-аннотации, строгие контракты.
Хороший финал ответа:
**«null — это не баг языка, а источник неявности. Чем раньше мы сделаем отсутствие значения явным, тем дешевле система в поддержке».**
Interview Lab
@InterviewLabPro
Вопрос на собесе, который почти всегда недооценивают: **что плохого в null?**
Этот пост опубликован в Telegram-канале Interview Lab. Подписаться можно по ссылке: @InterviewLabPro.