Java задачи с собеседований
5.96K subscribers
746 photos
7 videos
19 files
269 links
Задачи, тесты и теоретические вопросы по JAVA.

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Download Telegram
⚙️ LockSupport.parkNanos()

LockSupport.parkNanos() позволяет приостанавливать поток на заданное количество наносекунд, обеспечивая более точный контроль пауз по сравнению с Thread.sleep().

👩‍💻

@javaquiz
👍1
⚙️ Arrays.mismatch()

Arrays.mismatch() сравнивает два массива и возвращает индекс первого несовпадающего элемента. Это полезно для эффективного поиска различий между данными.

👩‍💻

@javaquiz
👍4
⚙️ ProcessHandle.descendants()

ProcessHandle.descendants() возвращает поток потомков (дочерних процессов) данного процесса. Это полезно для мониторинга и управления иерархией процессов, например, при запуске подпроцессов через ProcessBuilder.

👩‍💻

@javaquiz
🔥1
⚙️ Character.getType()

Character.getType() возвращает тип символа по его Unicode-категории, например, буква, цифра, пунктуация и т.д. Это полезно для фильтрации и анализа текста, особенно в мульти-язычных или валидационных системах.

👩‍💻

@javaquiz
👍2
⚙️ System.mapLibraryName()

System.mapLibraryName() преобразует логическое имя нативной библиотеки в платформозависимое. Это полезно при динамической загрузке .dll, .so или .dylib файлов в кроссплатформенных Java-приложениях.

👩‍💻

@javaquiz
⚙️ Class.getCanonicalName()

Class.getCanonicalName() возвращает полное каноническое имя класса, включая вложенность. Это полезно для логирования, сериализации, генерации кода и анализа структуры сложных приложений.

👩‍💻

@javaquiz
⚙️ Module.getPackages()

Module.getPackages() возвращает множество имён пакетов, принадлежащих модулю. Это полезно при динамическом анализе модульной структуры и рефлексии в Java 9+.

👩‍💻

@javaquiz
⚙️ String.translateEscapes()

String.translateEscapes() (Java 15+) обрабатывает escape-последовательности в строках, превращая их в реальные символы. Это полезно для динамической обработки строк, содержащих \n, \t, \\ и другие управляющие символы.

👩‍💻

@javaquiz
🔥1
⚙️ Optional.stream (Optional.stream)()

Optional.stream()превращает Optional в поток: пустой, если значения нет, или с одним элементом, если значение присутствует. Это полезно для интеграции Optional в Stream-пайплайны.

👩‍💻

@javaquiz
💪 Мощный инструмент в одной строке: Метод of()

Метод of() обеспечивает компактный способ создания неизменяемых коллекций.

🗣️ Этот метод является удобным и эффективным инструментом для создания коллекций с набором известных элементов.

👩‍💻

@javaquiz
➡️ Использование Local-Variable Type Inference

✔️ Функция Local-Variable Type Inference позволяет объявлять локальные переменные без явного указания их типа, что делает код более компактным и улучшает его читаемость

👩‍💻

@javaquiz
👍1
Дорогие подписчики, поздравляю вас с наступающим новым годом! Пусть в 2026 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄

@javaquiz
👍6🎉6
➡️ Мощь статических методов: Использование методов интерфейсов

✔️ В Java 8 была введена возможность определения статических методов в интерфейсах, что открыло новые возможности для создания удобных и мощных утилитарных функций прямо в интерфейсах.

🗣В интерфейсе ListUtils определен статический метод max, который находит максимальный элемент в коллекции.

🗣В методе main мы вызываем статический метод max из интерфейса ListUtils, передавая ему список чисел.

🗣Мы выводим найденное максимальное число на экран.

👩‍💻

@javaquiz
👍1
✔️ Использование Flow API для реактивного программирования

Java 9 представила Flow API, который обеспечивает стандартный интерфейс для реализации реактивного программирования.

🗣️ Flow API позволяет создавать асинхронные, нелокальные потоки данных, упрощая работу с реактивными системами.

👩‍💻

@javaquiz
➡️ Сила коллекций: Неизменяемые коллекции в Java

Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.

✔️ Эти методы предоставляют простой способ создания неизменяемых представлений существующих коллекций, улучшая безопасность и надежность кода.

👩‍💻

@javaquiz
⚙️ Оптимизация сборщика мусора с помощью -XX:+UseG1GC

Java предоставляет множество возможностей для оптимизации производительности приложений.

✔️ Одной из таких возможностей является использование современного сборщика мусора G1 (Garbage First), который улучшает работу приложений с большим объемом данных и снижает задержки.

➡️ Чтобы включить использование G1GC, необходимо добавить флаг -XX:+UseG1GC при запуске Java-приложения:

java -XX:+UseG1GC G1GCExample

👩‍💻

@javaquiz
👍3
➡️ Оптимизация работы с коллекциями с помощью метода removeIf

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

👩‍💻

@javaquiz
👍7
➡️ Apache Commons Lang

Apache Commons Lang — это библиотека, которая расширяет стандартную библиотеку Java, предоставляя множество утилит для работы со строками, числовыми операциями, рефлексией и другими общими задачами программирования.

🗣 Если вам часто приходится манипулировать строками, работать с числами или использовать рефлексию, Apache Commons Lang может стать незаменимым помощником.

🔗 Ссылочка на доку (https://commons.apache.org/proper/commons-lang/)

👩‍💻

@javaquiz
👍3
➡️ Использование метода Collectors.filtering() для фильтрации элементов при сборе в коллекцию

Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.

• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.

• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.

👩‍💻

@javaquiz
➡️ Использование метода Stream.takeWhile() для фильтрации данных

Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.

• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.

👩‍💻

@javaquiz
👍1