Java задачи с собеседований – Telegram
Java задачи с собеседований
6.03K subscribers
741 photos
7 videos
19 files
272 links
Задачи, тесты и теоретические вопросы по JAVA.

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

Micronaut — это лёгкий фреймворк для микросервисов, который быстро стартует, потребляет мало памяти и поддерживает компиляцию в нативные образы через GraalVM.

🔗 Документация (https://micronaut.io/)

👩‍💻

@javaquiz
⚙️ InetAddress.getByAddress()

InetAddress.getByAddress() позволяет создать IP-адрес вручную из массива байтов, без необходимости использования DNS-резолвера. Это полезно для работы с сетевыми протоколами и тестирования.

👩‍💻

@javaquiz
⚙️ Thread.getAllStackTraces()

Thread.getAllStackTraces() позволяет получить стек вызовов всех активных потоков. Это полезно для отладки многопоточных программ и анализа зависших потоков.

👩‍💻

@javaquiz
👍1
👀 Мониторинг использования памяти с MemoryMXBean

В Java можно отслеживать текущее потребление памяти JVM с помощью MemoryMXBean. Это полезно для диагностики утечек памяти и анализа работы сборщика мусора.

✔️ Использование ManagementFactory.getMemoryMXBean() позволяет получить информацию о потреблении памяти в реальном времени.

👩‍💻

@javaquiz
👍2
⚙️ Thread.sleep(Duration)

Thread.sleep(Duration) (Java 9+) позволяет приостанавливать выполнение потока на заданное время с использованием Duration, что делает код более читаемым и удобным.

👩‍💻

@javaquiz
⚙️ Cleaner.register()

Cleaner.register() позволяет выполнять код очистки перед удалением объекта сборщиком мусора. Это полезно для освобождения нативных ресурсов без явного вызова close().

👩‍💻

@javaquiz
👍3
⚙️ 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