где в коллекциях java нарушается принцип Барбары Лисков.
Я ответил, что TreeMap если в конструктор не передать свой компаратор будет в случае null ключа падать с NPE, а HashMap норм будет и ConcurrentModificationException не будет при CopyOnWriteArrayList, но будет в обычных листах.
Знаете еще примеры?
IdentityHashMap. Вроде даже в доках это признают.
https://docs.oracle.com/javase/8/docs/api/java/util/IdentityHashMap.html > While this class implements the Map interface, it intentionally violates Map's general contract, which mandates the use of the equals method when comparing objects. This class is designed for use only in the rare cases wherein reference-equality semantics are required.
Спасибо, интересно даже не знал, что такая реализация есть
А где здесь нарушения LSP?
Фиговые примеры, но я больше ничего не придумал, вообще его нету потому что это 2 разные реализации, а LSP нарушался бы если бы вел себя не как родитель.
Интересно это на джуна или синьера?) Я LSP знаю, но так вот без компа вспонмить подобные примеры - не вспонил бы
Они смотрят от мидла и выше, какие погоны дадут по результатам интервью решают
Хм, интересно. Обычно на подобные позиции такую херню не спрашивают. Больше про опыт и конкретные кейсы с предыдущей работы
Какую только херню не спрашивают
Кстати нигде по опыту особо не спрашивали хотя кучу собеседований на синьера проходил, везде 5 мин слушают что ты до этого делал и дают стандартные вопросы
List и его реализация Unmodifiable list. List нам говорит, что мы можем использовать метод sort(), но он сортирует тот массив, на котором вызывали метод, то есть, меняет его. А Unmodifiable list подразумевает, что его изменять нельзя. Поэтому, когда в list кладем Unmodifiable list, то получаем UnsupportedOperationException
UOE прямо в джавадоке листа разрешен
Во кстати, наверное они про это хотели услышать, а не про те редкие кейсы)
Не суть, главное, что по сути unmodif не является листом в полном смысле
лолшто? выполняет контракт но не является?
Мы говорим про LSP, прочитай его ещё раз
Как раз LSP он нарушает
Имхо это - LSP читерство. Толку то от того, что в джава доке об этом есть, если программы-клиенты при подобной подстановке превращаются в тыкву.
Обсуждают сегодня