Java Developer – Telegram
Java Developer
15.7K subscribers
1.86K photos
140 videos
2 files
2.09K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

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

Что такое Reflection?

Ответ: Рефлексия (Reflection) — это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов java.lang и java.lang.reflect.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Какая из следующих баз данных не поддерживается с помощью jdbcTemplate?
Anonymous Quiz
10%
MySQL
13%
PostgreSQL
59%
NoSQL
18%
Oracle
📌 Задача с LeetCode (Length of Last Word)

Метод lengthOfLastWord() принимает в качестве аргумента строку s;

Строка s преобразуется с помощью метода trim(), который удаляет пробелы в начале и конце строки. Это делается для того, чтобы обработать случаи, когда в конце строки присутствуют пробелы, не являющиеся частью последнего слова;

Переменная counter с начальным значением 0 будет использоваться для подсчета длины последнего слова;

Внутри цикла for проверяется, является ли текущий символ пробелом:

— Если символ не является пробелом, значит это символ последнего слова, поэтому counter увеличивается на 1.

— Если символ является пробелом, значит достигнут конец последнего слова, и цикл прерывается с помощью break.

Возвращается значение переменной counter.

Эта задача на LeetCode — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Фреймворк Hibernate предоставляет средства оболочки для доступа к данным. Какой тип оболочки предоставляется данным фреймворком?
Anonymous Quiz
10%
DAO
38%
JDBC
28%
JPA
23%
ORM
⌨️ Восходящее и нисходящее преобразование

Восходящее преобразование (upcasting) происходит, когда объект или значение преобразуется в тип, который находится выше в иерархии наследования.

Нисходящее преобразование (downcasting) происходит, когда объект или значение преобразуется в тип, который находится ниже в иерархии наследования. Для выполнения нисходящего преобразования необходимо явно привести типы.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Различные модули Spring Framework

Spring Context — для внедрения зависимостей;

Spring AOP — для аспектно-ориентированного программирования;

Spring DAO — для операций с базой данных с использованием шаблона DAO;

Spring JDBC — для поддержки JDBC и DataSource;

Spring ORM — для поддержки инструментов ORM, таких как Hibernate;

Spring Web Module — для создания веб-приложений;

Spring MVC — реализация Model-View-Controller для создания веб-приложений, веб-сервисов и т. д.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
10%
11, 13, 15
10%
14
27%
10, 12, 14
18%
12, 14
35%
10, 14
⌨️ Как не допустить сериализацию?

Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.

Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
42%
9
3%
10
32%
910
12%
910!
11%
Ошибка компиляции
⌨️ Композиция

Композиция — это строгое отношение, где объект A является частью объекта B и не может принадлежать другому объекту того же типа.

Самый простой пример — двигатель автомобиля. Двигатель является частью автомобиля, но не может быть частью другого автомобиля.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Можно ли создать Enum без экземпляров объектов?

Ответ: Да, можно создать перечисление (enum) без экземпляров объектов. Для этого нужно создать пустой список аргументов в определении перечисления, но у этого перечисления всё равно будет один экземпляр, INSTANCE. Этот подход используется часто при реализации паттерна Singleton.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Лямбда-выражения

Лямбда-выражения позволяют создавать анонимные функции, которые можно передавать как параметры или хранить в переменных. Лямбда-выражения облегчают написание чистого, компактного и читаемого кода без необходимости создания отдельных классов.

В данном примере мы создаем список строк и сортируем его с использованием лямбда-выражения (a, b) -> a.compareTo(b). Это выражение задает функцию сравнения двух строк, используемую для сортировки. Затем мы выводим отсортированные элементы списка с помощью метода forEach и лямбда-выражения name -> System.out.println(name).

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
31%
CD
14%
CDE
28%
D
27%
abcde
👍1
📌 Задача с LeetCode (Unique Paths)

Описание и условие задачи на YouTubeКЛИК

На сетке размером M x N в верхнем левом углу размещен робот. Роботу нужно оказаться в нижнем правом углу, однако перемещаться он может только вниз или вправо. Требуется найти количество уникальных путей, по которым робот доберется до финиша.

Для хранения количества уникальных путей к каждой ячейке используется двумерный массив dp;

В начале инициализируются значения в первом столбце и первой строке массива dp, так как он достижим только из одного направления;

Двумя вложенными циклами заполняется оставшаяся часть массива dp. Каждое значение dp[i][j] вычисляется как сумма количества уникальных путей до клетки сверху dp[i-1][j] и слева dp[i][j-1];

В конце возвращается значение dp[m-1][n-1], представляющее количество уникальных путей до последней клетки в сетке.

Эта задача на LeetCode — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Что подразумевается под статическим блоком в Java?

Ответ: Статический блок используется для инициализации статических переменных класса. Он выполняется только один раз: при первой загрузке класса в память.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM