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
🆒 На канале произошёл небольшой ребрендинг

Мы работаем над тем, чтобы материалы на канале были полезны каждому разработчику. Именно поэтому формат постов изменился в лучшую сторону, а качество подаваемого материала растёт с каждым днём.

🔔 Предлагаю включить уведомления, если ты ещё не сделал этого, закрепить канал и изучать Java вместе с нами!
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Почему нельзя объявить метод интерфейса с модификатором final?

Ответ: В случае интерфейсов указание модификатора final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Рекурсия (Recursion)

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

Основные элементы рекурсии в Java:

Базовый случай — это условие, при котором функция прекращает вызывать саму себя и возвращает результат;

Рекурсивный случай — это условие, при котором функция вызывает саму себя для решения более простой подзадачи. В каждом рекурсивном вызове задача упрощается, пока не достигнет базового случая;

Прогресс — каждый рекурсивный вызов должен быть ближе к базовому случаю, чтобы избежать бесконечной рекурсии.

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

Что такое «потокобезопасность»?

Ответ: Свойство объекта или кода, гарантирующее правильное поведение кода при его исполнении или использовании несколькими потоками. Например, потокобезопасный счётчик не пропустит ни один счёт, даже если один и тот же экземпляр этого счётчика будет использоваться несколькими потоками.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код сверху?
Anonymous Quiz
30%
0007
41%
00007
13%
47
16%
7
👩‍💻 Можно ли сузить уровень доступа или тип возвращаемого значения при переопределении метода?

При переопределении метода нельзя сузить модификатор доступа к методу (например, с public в MainClass до private в Class extends MainClass).

Изменить тип возвращаемого значения при переопределении метода нельзя, будет ошибка attempting to use incompatible return type.

Можно сузить возвращаемое значение, если они совместимы.

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

Можно ли объявить метод абстрактным и статическим одновременно?

Ответ: Нет, в таком случае компилятор выдаст ошибку: "Illegal combination of modifiers: ‘abstract’ and ‘static’". Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код сверху?
Anonymous Quiz
21%
0
37%
10
19%
20
23%
Ошибка компиляции
👩‍💻 Типы классов в Java

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
37%
0
23%
2
28%
3
12%
Ошибка компиляции
👩‍💻 Переопределение метода

Переопределение метода (Method Overriding) механизм ООП, позволяющий классу создать новую реализацию метода, который уже существует в его родительском классе.

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

В Java переопределить методы в классах-наследниках можно с помощью ключевого слова @Override.

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

Можно ли указывать конструктор внутри Enum?

Ответ: Да, именно через конструктор и задаются значения внутренних переменных enum.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
7
📌 Задача с LeetCode №34

Дан массив целых чисел nums, отсортированных в порядке возрастания. Найдите начальную и конечную позиции данного k-значения.

Если k элемент не найден — вернуть [-1, -1].

В массиве result будем хранить результаты поиска;

low и high будут использоваться для поиска;

В цикле while сравниваем элементы массива nums с заданным числом k. Если элемент меньше k, мы увеличиваем значение low, если больше — уменьшаем значение high;

Если найден элемент со значением k, то сохраняем его индекс в массиве result и возвращаем результат;

Если ни один элемент не равен k, то возвращаем результат с индексами -1.

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
9%
JAVA
54%
DEVELOPER
6%
JAVA DEVELOPER
31%
Ошибка компиляции
👩‍💻 Метод retainAll()

Метод retainAll() используется для сохранения в коллекции только тех элементов, которые содержатся в указанной коллекции.

В качестве аргумента принимает другую коллекцию, затем проходит по текущей коллекции и удаляет из неё все элементы, которых нет в переданной коллекции.

Не гарантирует порядок оставшихся элементов.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
71
Что выведет код сверху?
Anonymous Quiz
15%
9596abc
4%
9596
16%
abc
65%
Ничего
2