Java Guru 🤓
13.2K subscribers
901 photos
15 videos
773 links
Канал с вопросами и задачами с собеседований!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrSQZ

Мы на бирже: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
override vs overload

• override — возможность переопределениия поведения метода в типах-потомках
• overload — возможность переопределять метод с одним именем, но разным набором аргументов
👍33
Что будет выведено на консоль?
👍19
👍17🤔4
Как в Java сделать утечку памяти?

• Используя самописный класс стека, при выполнении операции pop() не присваивать предыдущей ссылке значение null.
• Также можно неверно использовать
HashMap вместо WeakHashMap для кэширования чего-нибудь большого, например картинок ваших товаров, пользователей и.т.д в. Т.к ссылки на ключи сильные (strong references), значения по этим ключам будут висеть в хипе до морковкиного заговенья следующей перезагрузки jvm процесса или удаления ключа из мапы и обнуления ссылки на него. Вообще, кэширование — тема для отдельного разговора
• Также,
статья (но староватая)
👍18🔥3
Что произойдет в результате компиляции и выполнения кода?
👍16👎4
В чем проблемы Random?

Random возвращает псевдо-случайную числовую последовательность, основанную на линейном конгруэнтном методе и seed'е, основанном на timestamp'е создания j.u.Random.
Соотвественно, зная время создания, можно предсказать такую последовательность. Такой генератор является детерминированным, и криптографически нестойким. Для исправления этого лучше использовать
SecureRandom
👍39
Что будет в результате компиляции и выполнения данного кода?
👍15
Что будет в результате компиляции и выполнения данного кода?
Anonymous Quiz
42%
1
37%
2
6%
Ошибка выполнения
15%
Ошибка компиляции
👍16
GC и различные его виды в JVM. Какой объект считать достижимым. Как происходит сборка мусора (своими словами).

Виды GC:
• Serial Stop the World
• Parallel
• CMS (В чем недостаток по сравнению с Parallel?)
• G1 (Назвать отличие от CMS)
• Shenandoah
👍16
Что будет выведено на экран в результате компиляции и выполнения следующего кода?
👍153
👍26👎5👏1🍌1
Generics: В чем преимущество, как работают? Что такое type-erasure? В чем отличие от шаблонов C++?

• Типы дженерики обеспечивают параметрический полиморфизм, т.е выполнение идентичного кода для различных типов. Типичный пример — коллекции, итераторы
• type-erasure — это стирание информации о типе-параметре в runtime. Таким образом, в байт-коде мы увидим List, Set вместо List<Integer>, Set<Integer>, ну и type-cast'ы при необходимости
• В отличие от дженериков в Java, в С++ шаблоны в итоге приводят к компиляции метода или типа для каждого специфицированного типа параметра (специализация шаблона). Да простят меня здесь адепты С++.
👍251
Какое имя у бина реализованного в данном классе?

#Spring
👍14🔥1
👍26🔥1
Generics: Метод принимает ссылку на List<Parent>. Child наследуется от Parent. Можно ли в метод передать List<Child>?

В типе аргумента нужно указать List<? extends Parent>
24👍4❤‍🔥1
Что будет в результате компиляции и выполнения следующего кода?
12👍4🔥3👏1
Что будет в результате компиляции и выполнения следующего кода?
Anonymous Quiz
46%
7 4
13%
5 2
7%
ошибка времени выполнения
34%
ошибка компиляции
👍16🔥43🎉1
Hard-references, weak references, soft-references, phantom-references

• Hard-references — стандартные ссылки на объекты, которые становится eligible for collection после недостижимости из root set
• Weak-references — объекты могут быть удалены при наличии слабой ссылки на него в любое время
• Soft-references — объекты могут удалятся GC при недостатке памяти
• Phantom-references — объекты не доступны напрямую по ссылкам, перед удалением помещаются в очередь на удаление. Нужны для более безопасной финализации ссылок (вместо finalize)
12👍5🔥3🎉2
Какое значение по умолчанию имеет атрибут scope?

#Spring
Anonymous Quiz
12%
request
65%
singleton
10%
session
14%
prototype
👍204🔥3🌭3🤩2
Какими способами можно сконструировать объект в Java?

• Через конструктор
• Через статический factory-method
• Через паттерн Builder
👍364🌚4🔥3