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

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

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
Какие есть недостатки в этом коде?
🔥72🐳2👏1
Что напечатает код, если index = -1? (Разъяснение ответа будет завтра)
🔥71
👍9👎6🤔2
Тут проблема в приоритете операций, код выше эквивалентен такому:
if ((index >= 0 && s.charAt(index) == 'q') || s.charAt(index) == '\t')
Поэтому правильный вариант будет - StringIndexOutOfBoundsException, так как код дойдет до выполнения s.charAt(index) и упадет на нем
👍62🔥2
Правильный код мог бы быть такой
👍5🔥4
Так же есть идея разделять сложные условия на отдельные if else блоки, что улучшает читаемость кода
👍7🔥6
Что вернет метод, если ret1 = 10, ret2 = 30, retStep = 2?
(Ответ будет завтра.)
(Этот код не является примером хорошего продакшен кода. Скорее наоборот.)
🔥8👍21
Что вернет метод, если ret1 = 10, ret2 = 30, retStep = 2?
Anonymous Quiz
3%
10
25%
1
64%
100
6%
runtime exception
2%
узнать ответ
👍18👎8😐1
Ответ к задаче про порядок действий * и /:
Правильный ответ = 100, так как код в методе test9 эквивалентен такому:
((ret2 - ret1) / retStep) * 10
👍8🔥3
Несколько вариантов как можно улучшить код из прошлого вопроса.
1) просто 10 перенести вперед и неоднозначность с порядком действий уйдет.
2) Вынести часть действий в новую переменную. Часто этой переменной еще можно будет дать удачное название, которое будет понятно в вашей доменной модели.
👍8🔥7
Чему будет равно isVersionSupported?
🔥8👍2
Чему будет равно isVersionSupported?
Anonymous Quiz
48%
true
20%
false
22%
compile error
10%
узнать ответ
🔥94🐳1
Ответ к вопросу про сравнение с массивом: В данном случае, метод isIn принимает массив, а не список, поэтому Objects.equals будет сравнивать String со списком как с объектом, что приведет к false. Основное правило, которое надо соблюдать, это не передавать в метод с vararg параметром коллекцию.
👍12🔥4🐳1
Objects.equals(c, element) в дебаге будет такой:
👍13🔥3🐳2
Какое минимальное значение Int?
Anonymous Quiz
28%
-2^31
17%
-2^31 - 1
26%
-2^32
22%
-2^32 - 1
7%
узнать ответ
🔥11🤮4👍2🐳2
Минимальное значение = -2^31.
В Java для типа int выделено 4 байта памяти. Каждый байт памяти состоит из 8 битов. Каждый бит может принимать только 2 значения — 0 или 1. Переменная типа int содержит 32 бита и может принимать 4,294,967,296 значений. (2^32)
Половину этого диапазона отдали под отрицательные числа, а вторую — под положительные и еще надо разместить «0». Вот и получилось от -2,147,483,648 (-2^31) до 2,147,483,647 (2^31 -1).
👍17🔥2🐳2
Что вернет return?
(Эта задача не является примером хорошего кода. Но подобные вещи часто встречаются в проектах, скоро будут еще несколько подобных вопросов)
👍9🐳21
🔥9👍2
Тут проблема в порядке операций - тернарный оператор имеет низкий приоритет , правильный варинат мог бы быть такой -
return "1" + (b ? "2" : "3");
👍7🦄3🔥2🐳1
Что может напечатать метод reader()?
(Методы actor и reader вызываются одновременно параллельными потоками по одному разу каждый)
🤡11👍8🤨41🐳1