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

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

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

Мы на бирже: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
👍15🤔4🔥3
Отличия String/StringBuilder/StringBuffer

String — иммутабельный байтовый массив
StringBuilder — helper-класс для построения строк, не предоставляет гарантий синхронизации
StringBuffer — то же, что и StringBuilder, с synchronized методами
👍36👎1
Что выведет на экран следующая программа?
👍17👎5
Что выведет на экран следующая программа?
Anonymous Quiz
31%
true
30%
false
11%
4/2=true
28%
4/2=false
👍24👎3👏3😁2
Interface vs Abstract Class.

• Интерфейс есть средство наследования API, абстрактный класс — средство наследования реализации
• Через интерфейсы возможно осуществлять множественное наследование, абстрактный класс можно наследовать в одном экземпляре.
• В интерфейсе нет возможности определить поля и конструкторы
👍24👎7
Какой результат будет получен после компиляции и выполнения данного кода?
👍17🤯3
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
Что будет в результате компиляции и выполнения данного кода?
👍151
Что будет в результате компиляции и выполнения данного кода?
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