Что выведет следующий код?
Anonymous Quiz
12%
Go-Go! Bo-Bo! Hello, World!
52%
Bo-Bo! Go-Go!
3%
Go-Go! Bo-Bo!
34%
Bo-Bo! Hello, World! Go-Go!
👍26😢9🔥2❤1
#Вопросы_с_собеседования
Какой результат выведет вызов метода foo()?
Ответ:
Разберем решение детально: С первым выводом
Какой результат выведет вызов метода foo()?
Ответ:
“HelloHello”Разберем решение детально: С первым выводом
Hello вопросов быть не должно, далее в метод bar передаем копию ссылки на строку, теперь на данную строку ссылаются две переменные: m из метода foo и m из метода bar. Так как строки в Java являются immutable, при попытке присоединить к уже существующей строке дополнительное значение World!, в методе bar произойдет создание новой строки и локальная переменная m этого метода будет ссылаться на новую строку со значением Hello World!, при этом в методе foo в результат будет выведено значение переменной m которая по прежнему ссылается на строку Hello.👍36
#Вопросы_с_собеседования
Какой параметр запуска JVM используется для контроля размера стека потока?
Какой параметр запуска JVM используется для контроля размера стека потока?
-Xss👍23
#Вопросы_с_собеседования
Какие методы класса File вы знаете?
Наиболее используемые методы класса File:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Какие методы класса File вы знаете?
Наиболее используемые методы класса File:
•
boolean createNewFile(): делает попытку создать новый файл;•
boolean delete(): делает попытку удалить каталог или файл;•
boolean mkdir(): делает попытку создать новый каталог;•
boolean renameTo(File dest): делает попытку переименовать файл или каталог;•
boolean exists(): проверяет, существует ли файл или каталог;•
String getAbsolutePath(): возвращает абсолютный путь для пути, переданного в конструктор объекта;•
String getName(): возвращает краткое имя файла или каталога;•
String getParent(): возвращает имя родительского каталога;•
boolean isDirectory(): возвращает значение true, если по указанному пути располагается каталог;•
boolean isFile(): возвращает значение true, если по указанному пути находится файл;•
boolean isHidden(): возвращает значение true, если каталог или файл являются скрытыми;•
long length(): возвращает размер файла в байтах;•
long lastModified(): возвращает время последнего изменения файла или каталога;•
String[] list(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге;•
File[] listFiles(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.👍19😱1
#Вопросы_с_собеседования
Для ArrayList или для LinkedList операция добавления элемента в середину (list.add(list.size()/2, newElement)) медленнее?
Для ArrayList:
• проверка массива на вместимость. Если вместимости недостаточно, то увеличение размера массива и копирование всех элементов в новый массив
• копирование всех элементов, расположенных правее от позиции вставки, на одну позицию вправо
• вставка элемента
Для LinkedList:
• поиск позиции вставки
• вставка элемента
В худшем случае вставка в середину списка эффективнее для
Для ArrayList или для LinkedList операция добавления элемента в середину (list.add(list.size()/2, newElement)) медленнее?
Для ArrayList:
• проверка массива на вместимость. Если вместимости недостаточно, то увеличение размера массива и копирование всех элементов в новый массив
(O(N));• копирование всех элементов, расположенных правее от позиции вставки, на одну позицию вправо
(O(N));• вставка элемента
(O(1)).Для LinkedList:
• поиск позиции вставки
(O(N));• вставка элемента
(O(1)).В худшем случае вставка в середину списка эффективнее для
LinkedList. В остальных - скорее всего, для ArrayList, поскольку копирование элементов осуществляется за счет вызова быстрого системного метода System.arraycopy().👍23
#Вопросы_с_собеседования
Как определить, содержит ли массив определенное значение в Java с помощью потоков?
Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.
Как определить, содержит ли массив определенное значение в Java с помощью потоков?
Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.
👍19🔥3❤1
#Вопросы_с_собеседования
Чем отличаются конструктор по-умолчанию, конструктор копирования и конструктор с параметрами?
У конструктора по умолчанию отсутствуют какие-либо аргументы. Конструктор копирования принимает в качестве аргумента уже существующий объект класса для последующего создания его клона. Конструктор с параметрами имеет в своей сигнатуре аргументы (обычно необходимые для инициализации полей класса).
Чем отличаются конструктор по-умолчанию, конструктор копирования и конструктор с параметрами?
👍18❤2
#Вопросы_с_собеседования
Какие классы позволяют ускорить чтение/запись за счет использования буфера?
•
•
•
Какие классы позволяют ускорить чтение/запись за счет использования буфера?
•
BufferedInputStream(InputStream in)/ BufferedInputStream(InputStream in, int size),•
BufferedOutputStream(OutputStream out)/BufferedOutputStream(OutputStream out, int size),•
BufferedReader(Reader r)/BufferedReader(Reader in, int sz),
• BufferedWriter(Writer out)/BufferedWriter(Writer out, int sz)👍6
#Вопросы_с_собеседования
❓Что такое абстрактный метод в языке Java?
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь, для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
❓Что такое абстрактный метод в языке Java?
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь, для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
👍22
Реализация авторизации на основе ролей в Spring Boot с помощью Keycloak
Контроль доступа на основе ролей является обязательным условием для любого приложения, имеющего дело с пользователями, которые могут получать доступ к определенным ресурсам в зависимости от своей роли в организации.
Смотреть статью
Контроль доступа на основе ролей является обязательным условием для любого приложения, имеющего дело с пользователями, которые могут получать доступ к определенным ресурсам в зависимости от своей роли в организации.
Смотреть статью
👍11❤1
#Вопросы_с_собеседования
❓Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после
Стоит заметить, что блоки
❓Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после
try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.Стоит заметить, что блоки
catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.👍19❤3
#Вопросы_с_собеседования
❓Можно ли считать Final переменную константой?
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
❓Можно ли считать Final переменную константой?
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
👍28😱4❤3😢1
В каком случае использование TreeSet предпочтительнее использования HashSet?
Anonymous Quiz
11%
Когда необходимо часто осуществлять обращение к элементам из Set
13%
Когда необходимо часто вставлять в Set новые элементы или удалять их
66%
Когда нужно гарантировать сохранение порядка элементов коллекции
10%
Когда нужно модифицировать производительность итератора по коллекции
👍22