ROCKET SCIENCE

JAVA CHALLENGE

Ответы
Вопрос 1

Интригующее множество

Варианты ответов:
1 | 100 | Выбросит исключение | Ничего из перечисленного

Объяснение правильного ответа:
Set#remove принимает аргумент не типа <T>, а типа Object, поэтому значение i - 1 упаковывается в Integer, а не Short, и метод не сможет ничего удалить.

Вопрос 2

Тест из другой вселенной

Варианты ответов:
Никогда не проходит | Проходит иногда | Проходит всегда | Зависнет

Объяснение правильного ответа:
Независимо от того, успеет или нет ОС создать и запустить параллельный поток, JUnit не сможет "увидеть" выброшенное из него исключение. Его можно увидеть в консоли, но тест всегда будет завершаться успешно.


Вопрос 3

С шашкою на танк бросится казак!

Варианты ответов:
Панки, Хой! | Доели черви =( | Оба варианта в случайном порядке | Ничего из перечисленного

Объяснение правильного ответа:
В момент выполнения первой строки с new Khoy() происходит рекурсивный вызов инициализации класса, при этом поле LIVING ещё не получило своего значения, поэтому в созданном объекте alive будет равняться null. При разрешении Khot.KHOY.isAlive() произойдёт автоматический анбоксинг и будет выброшено исключения NullPointerException.


Вопрос 4

Магическая гистограмма

Варианты ответов:
83 | C16 | S | Ничего из перечисленного

Объяснение правильного ответа:
hashCode() от строки "polygenelubricants" равен Integer.MIN_VALUE. Взятие модуля от этого значения Math.abs(Integer.MIN_VALUE) также возвращает Integer.MIN_VALUE. Остаток от деления на 5 получится отрицательный, поэтому произойдёт выбрасывание исключения ArrayIndexOutOfBoundsException.


Спасибо!

Это было великолепно