Java Interview Tasks
3.9K subscribers
185 photos
1 file
121 links
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.

Автор канала - @alexzelentsov

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
Ответ на вопрос про Multimap.forEach:
Правильный ответ 3, проще всего понять причину, если в forEach добавить типы параметров:
map.forEach((Integer key, String values) -> i.getAndIncrement());
Тогда видно, что "String values" это одно "value", а не "values", еще больше запутывает название параметра "values"
Для примера результат работы кода выше будет такой:
1=one
1=two
1=three
👍7🔥3🙏1
Что напечатает код?
👍5🔥1🙏1
👍4🔥1🙏1
Ответ на вопрос про Collectors.toList() vs Stream.toList():
Collectors.toList() возвращает ArrayList и поэтому shuffle отрабатывает корректно, но Stream.toList() всегда возвращает реализацию списка, которая не может быть изменена. И поэтому shuffle упадет с java.lang.UnsupportedOperationException.
Поэтому верный ответ - напечатается «2»
👍11🔥2🍓2
Что напечатает код при вызове конструктора?
👍4🔥1🙏1🍓1
Что напечатает код при вызове конструктора?
Anonymous Quiz
54%
true, true
16%
false, false
19%
false, true
7%
true, false
3%
узнать ответы
🔥6👍2🙏1
Ответ на вопрос про == для строк:
Правильный ответ - true, true
Здесь все строки это ссылки на один и тот же объект в пуле строк, пэтому сравнение == возвращает тру.
Про пул строк:
Когда в коде создается строка через строковый литерал (например, String s = "Hello";), JVM сначала проверяет пул строк. Если строка с таким же значением уже присутствует в пуле, то новый объект не создается. Вместо этого переменной s присваивается ссылка на уже существующий объект в пуле. Если же такой строки в пуле нет, JVM создает новый объект строки в пуле и возвращает ссылку на него.

Это поведение отличается от создания строк через оператор new (например, String s = new String("Hello");). В этом случае в куче всегда создается новый объект String, независимо от того, содержится ли такая же строка в пуле строк или нет.
👍113🔥2
Вы бросаете два кубика. Каждый кубик имеет 6 граней. Какова вероятность того, что сумма выпавших очков будет равна 6?
👍4🔥2👏2
Ответ на задачу про два кубика:
Каждый кубик имеет 6 граней, поэтому общее количество возможных комбинаций при броске двух кубиков: [ 6 * 6 = 36 ] Это означает, что при броске двух кубиков существует 36 возможных разных исходов.
Теперь определим все комбинации двух кубиков, которые в сумме дают 6. Рассмотрим все возможные пары чисел:
(1, 5)
(2, 4)
(3, 3)
(4, 2)
(5, 1)
Итак, у нас есть 5 благоприятных сочетаний, где сумма равна 6.

Вероятность того, что сумма выпавших очков будет равна 6, можно вычислить по формуле: [ P = число благоприятных исходов / общее количество исходов = 5/36 ]
Ответ:
Таким образом, вероятность того, что сумма очков на двух кубиках будет равна 6, составляет 5/36.
👍104🔥2
Можно ли создать конструктор у enum?
Anonymous Quiz
76%
Можно
22%
Нельзя
2%
Узнать ответ
👍5😢2🔥1🤔1
Может ли этот код выбросить AssertionError?
👍5🔥21
Может ли этот код выбросить AssertionError?
Anonymous Quiz
41%
может
51%
не может
8%
узнать ответ
👍5🔥2🙏2
Ответ на задачу про ассерт:
Если a равно NaN, то проверка if (a == 0.0) будет ложной, и будет AssertionError();, поскольку NaN не равен ни нулю, ни любому другому числу. В данном коде стоит добавить проверку if(Double.isNaN(a))
👍12🔥4😢1
С Новым годом 🎆🍾🎄🎁🎉
15🔥6🎉5🙏1
Что напечатает код? (Внутри try-catch выбрасывается эксепшен, а потом, при закрытии ресурса, вылетает еще один ексепшен)
🔥7👍32
🔥7👍3🙏2
Ответ на вопрос про try-catch-with-resources:
Напечатается "try", так как в случае когда вылетает ексепшн внутри try-catch и при закрытии ресурса, то второй эксепшен добавляется в поле suppressedExceptions в основном эксепшене.
🔥11🤔7👍4
Чему будет равно d3?
👍8😢3🔥2
👍8🔥3🙏2
Какие проблемы есть в этом коде? (Код сгенерировал copilot)
👍4🔥21
Ответ на вопрос про проблемы в коде копайлота:
Основная проблема тут в том, что Set.of создает Unmodifiable Set, поэтому, когда дойдет до ветки else , там упадет эксепшн при вызове метода add(dt).
🔥7👍1🙏1