ROCKET SCIENCE

JAVA CHALLENGE

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

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

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

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

Вопрос 2

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

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

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


Вопрос 3

Грузим контейнеры

Мы собираемся упаковать ранее собранный .jar в образ с JDK и curl.
Имеется Dockerfile ▲
Что произойдёт при его сборке и запуске?

Варианты ответов:
Произойдёт ошибка сборки образа | Образ соберётся, но не сможет запуститься | Приложение будет успешно запущено | Ничего из перечисленного

Объяснение правильного ответа:
Произойдёт ошибка сборки образа, потому что в образах на основе СentOS используется пакетный менеджер yum, и команда установки curl должна начинаться с yum, а не с apt-get.


Вопрос 4

Фантик для BigDecimal

Какие значения будут храниться в v и d для следующего кода: V value = new V(new BigDecimal("10000.00")); ?

Варианты ответов:
v = 10000, d = 1 | v = 1, d = 10000 | v = 1000000, d = 100 | Будет выброшено исключение

Объяснение правильного ответа:
Метод stripTrailingZeros() превратит представление числа в intVal = 1 и scale = -4. Во время выполнения BigInteger.TEN.pow(-4) будет выброшено ArithrmeticException.


Спасибо!

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