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
Что напечатает код?
🤡19😁8👍5🔥1
Что напечатает код?
Anonymous Quiz
15%
8
76%
6
10%
будет ошибка
🤣12👍5🙏2🔥1
Что напечатает код?
🔥31👍1🙏1
Что напечатает код?
Anonymous Quiz
11%
1
48%
2
37%
будет что-то еще
4%
узнать ответ
👍5👏2🔥1
Ответ на вопрос про код FailedConstruction:
При инициализации происходит деление на ноль, но это не вызывает исключение, так как ошибка происходит раньше:
В классе FailedConstruction, перед вызовом конструктора необходимо инициализировать поля объекта. Если мы создаем поле construction, которое снова инициирует новый экземпляр FailedConstruction, это приведет к бесконечному циклу и повторной инициализации полей.

🔄 В результате этот процесс будет продолжаться до тех пор, пока стек вызовов не переполнится, что приведет к ошибке StackOverflowError.

Результат: Программа завершится с ошибкой StackOverflowError, и при этом не будет выведено ни 1, ни 2.
👍14🔥3🙏1
Что напечатает код?
👍5🔥2🙏1
Что напечатает код?
Anonymous Quiz
29%
1
40%
2
31%
что-то еще
👍8🤔3🔥2
Ответ на вопрос про FailedConstruction и делеление на 0:
В конструкторе происходит деление на ноль (100 / 0.0).
В отличие от целочисленного деления, деление на ноль с плавающей точкой (double) не вызывает исключение, а результатом будет Infinity.
Таким образом, программа не завершится с ошибкой, и код успешно выполнится. В результате в консоль будет выведено 1.
👀12👍4🔥4
Задача на логику:
Каждый третий рыбак — работает на заводе, а каждый четвертый работник на заводе — рыбак. Кого больше, рыбаков или работников на заводе?
👍4🔥3🥴21
Ответ к задаче про рыбаков и работников на заводе:

🔍 Условия:

Каждый третий рыбак работает на заводе.
Каждый четвертый работник на заводе — рыбак.
📊 Если обозначить количество рыбаков как ( R ), а работников на заводе как ( W ), то:

Рыбаки, работающие на заводе: ( \frac{R}{3} ).
Работники завода, которые являются рыбаками: ( \frac{W}{4} ).
Так как это одно и то же количество, у нас получается уравнение: [ R/3 = W/4 ]

🙌 Тогда: [ 4R = 3W ]

💡 Это значит, что: [ R/W = 3/4 ]

А это уже говорит о том, что работников на заводе в 1.33 раза больше, чем рыбаков!

🛥 Вывод: Работников на заводе больше, чем рыбаков! 🤔
👍6👏1
Что напечатает код?
👍6🔥1
Что напечатает код?
Anonymous Quiz
16%
1.5
72%
1
7%
1.49999
1%
1.51111
3%
другой ответ
👍7🤷‍♂3🔥3
Ответ на вопрос про деление int:
Операция деления в Java для целых чисел (int) отбрасывает дробную часть. Таким образом, 3 / 2 будет равно 1
🔥8👍2🐳2
🔥8👍3🐳21🥱1
🔥7👍32🙏1🥱1
Ответ на вопросы про сравнение double:
Сравнение 0.0 > -0.0 возвращает false, поскольку 0.0 не больше -0.0. Если бы использовался оператор == для сравнения, то 0.0 == -0.0 вернуло бы true.

Это происходит потому, что в Java 0.0 и -0.0 считаются разными значениями с плавающей точкой. Однако при сравнении с использованием оператора > (больше) Java считает оба значения равными.
👍6🔥1🙏1
Что напечатает код?
👍7🔥3🙏1
Ответ на вопрос про передачу переменных и их влияние на результаты

🔍 Пояснение:

Первый вызов: recalculate(i)

Переменная i имеет значение 1.
При передаче i в метод recalculate(int i), создаётся копия значения 1.
Внутри метода i присваивается значение 2, и метод возвращает 2.
Однако, оригинальная переменная i в main остаётся равной 1.
Вывод: 2 (результат метода)
Второй вывод: System.out.print(i)

Печатаем оригинальное значение i, которое осталось 1.
Вывод: 1
Третий вызов: recalculateInt(j)

j - это объект типа Integer, который также имеет значение 1.
Передача j в метод recalculateInt(Integer i) создает ссылку на объект, однако при присваивании i = 2 мы создаем новую ссылку, которая не влияет на оригинальный объект j в main.
Метод возвращает 2.
Вывод: 2 (результат метода)
Четвёртый вывод: System.out.print(j)

Оригинальная переменная j остается равной 1, потому что Integer является неизменяемым классом в Java.
Вывод: 1
📌 Итоговый вывод программы:
2121

⚡️ Вывод: В Java важно понимать различие между примитивными типами и объектами. Примитивы передаются по значению, а объекты – по ссылке, что приводит к таким результатам. 🎉
👍82🔥2
#concurrency корректно ли будет работать код в многопоточной среде?
🔥4👍2😐1
корректно ли будет работать код в многопоточной среде?
Anonymous Quiz
20%
да
65%
нет
14%
узнать ответ
🔥4👍21