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
⌨️ Spring Initializr

Spring Initializr — это удобный способ создать проект на Spring Boot.

Для этого нужно перейти на сайт Spring Initializr, выбрать инструмент управления зависимостями (Maven или Gradle), язык (Java, Kotlin или Groovy), схему упаковки (Jar или War), версию, зависимости и загрузить проект. Это создаст для нас каркас проекта и сэкономит время на настройку, поэтому мы сможем сосредоточиться на добавлении бизнес-логики.

Даже когда мы используем мастер создания нового проекта в IDE (например, STS или Eclipse с плагином STS) для создания проекта со Spring Boot, под капотом используется Spring Initializr.

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

Как получить доступ к переопределенным методам родительского класса?

Ответ: С помощью ключевого слова super мы можем обратиться к любому члену родительского класса — методу или полю, если они не определены с модификатором private.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Задача с LeetCode (Max Consecutive Ones)

Дан массив, состоящий только из ноликов и единиц. Необходимо вычислить максимальную длину подмассива, в котором присутствуют только единицы (1, 1, 0, 1, 1, 1 | Длина - 3).

Переменные count и max равны 0. count используется для подсчета текущего количества последовательных единиц, а max — для хранения максимального значения.

Внутри цикла for проверяется, является ли текущий элемент массива nums[i] равным 1. Если да, то увеличиваем значение count на 1. Если нет, то count присваивается значение 0, так как последовательность прерывается.

Функция Math.max(count, max) находит максимальное значение между count и max. Значение count обновляется на каждой итерации цикла, поэтому теперь max будет содержать максимальное количество последовательных единиц на текущей итерации.

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код сверху?
Anonymous Quiz
38%
c = A
11%
c = c
34%
c = 65
17%
Ошибка компиляции
2
⌨️ NavigableSet

NavigableSet — это интерфейс, который расширяет интерфейс SortedSet и добавляет навигационные методы для поиска элементов в отсортированном множестве.

Основное применение NavigableSet — это реализация структур данных, где важен упорядоченный доступ к элементам, таким как:

Деревья (Red-Black, AVL и др.);

Приоритетные очереди;

Сортированные словари.

Основные реализации в Java — TreeSet и ConcurrentSkipListSet.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
37%
datadata
18%
dataa
27%
datadatadataa
19%
Ошибка компиляции
⌨️ ScheduledExecutorService

ScheduledExecutorService — это интерфейс в Java из пакета java.util.concurrent, который предоставляет возможность планирования и выполнения задач с задержкой или периодически.

Основные реализации ScheduledExecutorService:

ScheduledThreadPoolExecutor — это конкретная реализация ScheduledExecutorService, предоставляемая в стандартной библиотеке Java. Она является потокобезопасной реализацией и использует пул потоков для выполнения задач.

SingleThreadScheduledExecutor — это реализация ScheduledExecutorService, которая использует только один поток для выполнения задач. Она может быть полезной, если вы хотите, чтобы задачи выполнялись последовательно в заданном порядке.

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

Каково максимальное число значений hashCode()?

Ответ: Число значений следует из сигнатуры int hashCode() и равно диапазону типа int — 2^32.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Метод ordinal() в Enum

ordinal() является частью класса Enum. Класс Enum используется для создания типов данных, представляющих ограниченное множество значений, таких как перечисления (enumerations).

Метод ordinal() возвращает порядковый номер (индекс) конкретного элемента перечисления в объявленном порядке.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
13%
0
11%
1
14%
10
18%
null
44%
IndexOutOfBoundsException
📌 Задача с LeetCode (Maximum Product Subarray)

На вход подается целочисленный массив. Необходимо вычислить максимальное произведение, которое встречается в подмассиве исходного массива ([2,3,-2,4] — ответ 6).

Инициализируются переменные max, min и ans значением первого элемента массива;

В цикле for проходим по остальным элементам массива (начиная со второго).

Если текущий элемент отрицательный, то меняем местами значения переменных max и min.

Обновляем значения переменных max и min, сравнивая текущий элемент с произведением предыдущего значения max/min на текущий элемент.

Обновляем значение переменной ans, сравнивая текущее значение max с текущим значением ans.

По завершении цикла возвращаем значение переменной ans, которое и будет являться максимальным произведением подмассива.

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
18%
1 2 3 4 5 6 7 8 9 10 11
37%
11
28%
1 1 1 1
18%
Ошибка компиляции
⌨️ Сортировка слиянием (Merge Sort)

Сортировка слиянием подразумевает принцип «разделяй и властвуй». В чем идея и ее смысл?

Алгоритм разбивает список на две части, каждую из них он разбивает ещё на две и так далее, пока не останутся единичные элементы. Массив из одного элемента считается упорядоченным. Соседние элементы сравниваются и соединяются вместе. Так происходит до тех пор, пока все элементы не будут отсортированы.

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