Java Interview Tasks
前往频道在 Telegram
Реальные вопросы и задачи с собеседований. Оригинальный авторский контент. Актуальный материал. Уровень вопросов от junior до supersenior. Автор канала - @alexzelentsov По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
显示更多4 521
订阅者
-324 小时
-97 天
-2730 天
帖子存档
4 521
Ответ на вопрос про код FailedConstruction:
При инициализации происходит деление на ноль, но это не вызывает исключение, так как ошибка происходит раньше:
В классе FailedConstruction, перед вызовом конструктора необходимо инициализировать поля объекта. Если мы создаем поле construction, которое снова инициирует новый экземпляр FailedConstruction, это приведет к бесконечному циклу и повторной инициализации полей.
🔄 В результате этот процесс будет продолжаться до тех пор, пока стек вызовов не переполнится, что приведет к ошибке StackOverflowError.
Результат: Программа завершится с ошибкой StackOverflowError, и при этом не будет выведено ни 1, ни 2.
4 521
Ответ на вопрос про стринг билдер с конструктором:
у стринг билдера нет конструктора который принимает char, поэтому используется конструктор с int , но этот параметр задает initial capacity для билдера. Поэтому напечатается «23»
4 521
Проблема в коде , в том что loadAllDB() вызывается всегда, так как orElse() всегда вычисляет значение по умолчанию, что бы вызывать этот метод только когда это нужно , можно использовать orElseGet , который вызывает переданный метод только если optional == empty
4 521
Ответ на вопрос про заполнение списков:
- Инициализация массива:
В первой части создаётся массив строк, который включает значения "1", "2" и null. Исключение не возникает, так что "0" не будет выведено.
- Первый вызов метода fillList(strArr, 1):
Метод заполняет ArrayList элементами из массива. Поскольку в массиве присутствует null, это не вызывает исключение, соответственно, "1" не будет выведено.
- Второй вызов метода fillList(strArr, 2):
Этот вызов создаёт неизменяемый список. И в этот список запрещено добавлять null, поэтому "2" будет напечатано.
Итог: напечатается "2"
📌 Вывод: всегда следите за возможными null значениями в вашем коде и проверяйте, как различные структуры данных обрабатывают их! А так же аккуратно рефакторите, заменяя ArrayList на List.of(), так как кроме того что List.of - неизменяемый, эти две реализации List по разному работают с null значениями.
4 521
Ответ на вопрос про Collections.shuffle с одинаковым seed:
правильный ответ = false, так как list1 и list2 это два разных перемешивания с одним и тем же рандомом и в данном случае сид не играет роли, что бы list1 и list2 были одинаковые, можно сделать например так:
4 521
Ответ на вопрос про три игральных кубика:
Проще всего посчитать так - найдем вероятность того, что шестерка ни разу не выпадет:
Вероятность, что шестерка не выпадет = 5/6, так как броски кубика - независимые события то вероятность того, что шестерка не выпадет на трех кубиках =
(5/6)^3
Тогда искомая вероятность = 1-(5/6)^3≈0,42
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
