Java Learning
19.4K subscribers
1.58K photos
1 video
3 files
958 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
#Вопросы_с_собеседования

LinkedList — это односвязный, двусвязный или четырехсвязный список?

Ответ:
Двусвязный: каждый элемент LinkedList хранит ссылку на предыдущий и следующий элементы.
👍35👎1
📌 Lombok — библиотека, генерирующая за вас бойлерплейт (шаблонный) код. Даёт возможность создавать классы ускоренно, так как не надо вручную прописывать, например, геттеры и сеттеры, всё делается с помощью аннотаций.

Вы можете создавать неизменяемые классы вместе с типовыми методами и геттерами к ним — с помощью @Vаlue. Все поля класса будут финализированы и сделаны приватными.

Документацию проекта можно найти здесь.
👍27
#Вопросы_с_собеседования

Как одной строчкой скопировать элементы любой collection в массив?

Ответ на картинке.
👍48
#Вопросы_с_собеседования

Возможно ли использование блока try-finally (без catch)?

Такая запись допустима, но смысла в такой записи не так много, всё же лучше иметь блок catch, в котором будет обрабатываться необходимое исключение.
👍24👎5
#Вопросы_с_собеседования

Что не так с кодом?

Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught.
👍54
#Вопросы_с_собеседования

Как выбрать все элементы определенного каталога по критерию (например, с определенным расширением)?

Метод File.listFiles() возвращает массив объектов File, содержащихся в каталоге. Метод может принимать в качестве параметра объект класса, реализующего FileFilter. Это позволяет включить в список только те элементы, для которых метод accept возвращает true (критерием может быть длина имени файла или его расширение).
👍20
#Вопросы_с_собеседования

Какие преимущества есть у многопоточности?

1) Многопоточность позволяет приложению / программе всегда реагировать на ввод, даже если она уже выполняется с некоторыми фоновыми задачами;
2) Многопоточность позволяет быстрее выполнять задачи, поскольку потоки выполняются независимо;
3) Многопоточность обеспечивает лучшее использование кэш-памяти, поскольку потоки разделяют общие ресурсы памяти;
4) Многопоточность уменьшает количество требуемого сервера, поскольку один сервер может одновременно выполнять несколько потоков.
👍31
jsoup

Библиотека для парсинга и разбора HTML-страниц методами в стиле DOM, CSS и jQuery. Позволяет извлекать данные по URL, из локальных гипертекстовых файлов, фрагментов HTML-кода и даже из строковых переменных, содержащих разметку. Вы можете вытаскивать из страниц все ссылки или заголовки нужного уровня, управлять текстом и стилем, очищать код от атрибутов, добавленных в результате XSS-атак. Для отбора нужных данных вы можете увязать их с DOM-элементами и селекторами CSS.
👍142
#Вопросы_с_собеседования

Что такое «ссылка на метод»?

Если существующий в классе метод уже делает все, что необходимо, то можно воспользоваться механизмом method reference (ссылка на метод) для непосредственной передачи этого метода. Такая ссылка передается в виде:

имя_класса::имя_статического_метода для статического метода;
объект_класса::имя_метода для метода экземпляра;
название_класса::new для конструктора.
Результат будет в точности таким же, как в случае определения лямбда-выражения, которое вызывает этот метод.

Ссылки на методы потенциально более эффективны, чем использование лямбда-выражений. Кроме того, они предоставляют компилятору более качественную информацию о типе и при возможности выбора между использованием ссылки на существующий метод и использованием лямбда-выражения, следует всегда предпочитать использование ссылки на метод.
👍28
Реализация двухфакторной аутентификации с помощью Spring Security

В статье рассматривается использование двухфакторной аутентификации (когда клиент должен предоставить дополнительный токен безопасности помимо учетных данных) с помощью Spring Security. Хоть в Spring и нет встроенной двухфакторной аутентификации, эту функциональность легко добавить.

Читать статью
👍11
Что выведет код сверху?
Anonymous Quiz
20%
38 43
30%
295 300
40%
39 44
11%
295.4 300.6
👍25😱11👎1
#Вопросы_с_собеседования

Какой способ клонирования предпочтительней?

Наиболее безопасным и, следовательно, предпочтительным способом клонирования является использование специализированного конструктора копирования:

• Отсутствие ошибок наследования (не нужно беспокоиться, что у наследников появятся новые поля, которые не будут склонированы через метод clone());
• Поля для клонирования указываются явно;
• Возможность клонировать даже final поля.
👍16
#Вопросы_с_собеседования

Что произойдет при вызове
Iterator.next() без предварительного вызова Iterator.hasNext()?

Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
👍14😱1
#вопросы_с_собеседований
При помощи чего формируются запросы к базе данных?

Для выполнения запросов к базе данных в Java используются три интерфейса:

☕️ java.sql.Statement - для операторов SQL без параметров;
☕️ java.sql.PreparedStatement - для операторов SQL с параметрами и часто выполняемых операторов;
☕️ java.sql.CallableStatement - для исполнения хранимых в базе процедур.

Объекты-носители интерфейсов создаются при помощи методов объекта java.sql.Connection:

☕️ java.sql.createStatement() возвращает объект Statement;
☕️ java.sql.prepareStatement() возвращает объект PreparedStatement;
☕️ java.sql.prepareCall() возвращает объект CallableStatement;
👍25
👍1👎1
Что выведет код сверху?
Anonymous Quiz
46%
256 0
17%
64 0
20%
0 256
17%
0 64
👍16😱9