Java задачи с собеседований
6.27K subscribers
590 photos
6 videos
19 files
246 links
Задачи, тесты и теоретические вопросы по JAVA.

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Монитор, мьютекс (mutex) – это средство обеспечения контроля за доступом к ресурсу. У монитора может быть максимум один владелец в каждый текущий момент времени. Следовательно, если кто-то использует ресурс и захватил монитор для обеспечения единоличного доступа, то другой, желающий использовать тот же ресурс, должен подождать освобождения монитора, захватить его и только потом начать использовать ресурс.

Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.

В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.
Какой будет результат компиляции и выполнения данного кода?
Какой будет результат компиляции и выполнения данного кода?
Anonymous Quiz
6%
2, 2
32%
2, 2.0
14%
0, 0
7%
1, 1
24%
Ошибка компиляции
3%
Ошибка выполнения
14%
Не знаю
Какой результат выполнения указанной выше строчки?
Какой будет результат компиляции и выполнения следующего кода?
Какой будет результат компиляции и выполнения следующего кода?
Anonymous Quiz
6%
127
33%
2147483647
4%
Ошибка времени выполнения
52%
Ошибка компиляции
4%
Не знаю
Чем отличаются final, finally и finalize()?

#вопрос_на_собеседовании
Модификатор final:

Класс не может иметь наследников;
Метод не может быть переопределен в классах-наследниках;
Поле не может изменить свое значение после инициализации;
Локальные переменные не могут быть изменены после присвоения им значения;
Параметры методов не могут изменять своё значение внутри метода.

Оператор finally гарантирует, что определенный в нём участок кода будет выполнен независимо от того, какие исключения были перехвачены в блоке try-catch.

Метод finalize() вызывается перед тем как сборщик мусора будет проводить удаление объекта.
Что произойдет в результате компиляции и выполнения программы:
[REST] Одним из главных особенностей RESTFull является идемпотентность. Это так?
Anonymous Quiz
39%
Да
18%
Нет
26%
В определенных случаях
16%
Не знаю
Скомпилируется ли следующий код, если оба класса будут объявлены в файле Test.java?
Скомпилируется ли следующий код, если оба класса будут объявлены в файле Test.java?
Anonymous Quiz
43%
Да
55%
Нет
2%
Не знаю
Каким будет результат компиляции и запуска следующей программы?
[SQL] Как называется набор требований к транзакциям?
Anonymous Quiz
4%
ICANN
2%
INT
53%
ACID
3%
GUID
3%
DCIM
5%
GRID
14%
T-SQL
17%
Не знаю
Что выведет на консоль следующий код:
Что выведет на экран следующий фрагмент кода?