Какая типичная ошибка при работе с Liskov Substitution Principle и как ее избежать?
Что хотят услышать интервьюеры:
Ошибка: создавать подкласс, который бросает UnsupportedOperationException там, где базовый контракт обещает операцию.
Ответ:
Как избежать: вернитесь к контракту и назначению темы: подтип должен корректно заменять базовый тип без нарушения ожиданий клиента. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.
Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.
List<Number> numbers = new ArrayList<>();