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

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Что будет выведено после выполнения следующего кода:
Anonymous Quiz
44%
Testing parent... child::test
13%
Testing child... parent::test
18%
Testing parent... parent::test
25%
Testing child... child::test
Что будет в результате компиляции и выполнения данного кода?
Anonymous Quiz
55%
Код скомпилируется
23%
Код не скомпилируется
10%
Выдаст ошибку выполнения
12%
Узнать ответ
Тест на общие знания для Java-разработчика

Java задачи с собеседований
Какие исключения будут брошены методом main?
Anonymous Quiz
45%
IndexOutOfBoundsException
20%
Код не скомпилируется
28%
NullPointerException
7%
ClassCastException
Пояснение к предыдущему вопросу👆

👨🏻‍💻 Операторы & и |применяются как побитовое «И» и «ИЛИ» соответственно, если операнды целочисленные, и как логические «И» и «ИЛИ», если операнды булевы. При этом & и |, в случае логического выражения, проверяют оба своих операнда на истинность.

Их сокращенные версии, &&и ||, оптимизированы – «И» не проверяет на истинность второй операнд, если первый «ЛОЖЬ», «ИЛИ» не проверяет второй операнд, если первый «ИСТИНА».

Это делает их полезными для оптимизации кода и позволяет избежать NullPointerExceptionв тех случаях, когда второй операнд-выражение может его инициировать (в первом операнде размещают проверку на null-значение).

Java задачи с собеседований
Пояснение к предыдущему вопросу👆

👨🏻‍💻В survivor space находятся объекты, которые пережили больше одного прохода GC, но меньше 15 (по умолчанию это порог, после которого объект отправляется к долгожителям в Old Generation). После проходов GC в этой области возникает проблема фрагментации – постоянно возникают «дырки» от удаленных объектов и нужно «уплотнять» их расположение в памяти для большей производительности.

Для этого данная область делится на две и каждый проход сборщика все элементы из одной копируются в другую, фрагментируясь, а вторая остается пустой. На следующем проходе они вновь меняются местами, фрагментируя расположение объектов.

Java задачи с собеседований
Тест на общие знания для Java-разработчика

Java задачи с собеседований
Пояснение к предыдущему вопросу👆

👨🏻‍💻В коде используется повышающее преобразование, когда экземпляр класса Meсоздается под ссылку родительского класса Daddy.

Не произойдет ни ошибки компиляции, ни исключения во время выполнения. Однако и при обращении по ссылке типа Daddy, и по ссылке типа Me будет вызван метод класса Me, так как сам объект относится именно к этому классу.

Java задачи с собеседований