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
Вопрос с собеседования

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

Ответ: С помощью ключевого слова 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
Что выведет код сверху?
Anonymous Quiz
14%
64 0
22%
0 64
46%
256 0
17%
0 256