Java задачи с собеседований
СтатистикаЗадачи, тесты и теоретические вопросы по JAVA. Репозиторий: https://github.com/proghub-official/java-interview Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny
- Последний пост
- 16:36
- Последнее чтение
- 18:20
- Постов за неделю
- 1
- Всего постов
- 21
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 1 533
- 1/48двое суток
- 1 756
- 1/72трое суток
- 1 894
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
⚙️ Files.mismatch() Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два файла и найти позицию первого несовпадающего байта. Если файлы идентичны, метод возвращает -1. Это полезно для проверки целостности данных или сравнения файлов. 👩💻 @javaquiz
❓ Вопрос на собеседовании Что такое ConcurrentHashMap в Java, как он работает и чем отличается от HashMap в многопоточной среде? Ответ ⬇️ ConcurrentHashMap — это потокобезопасная версия HashMap, предназначенная для использования в многопоточной среде. В отличие от HashMap, который не является потокобезопасным и может приводить к состояниям гонки, ConcurrentHashMap позволяет нескольким потокам одновременно читать и изменять карту без блокировок всей коллекции. Он достигает этого за счёт сегментации и блокировок на уровне сегментов, а не всей структуры. Пример использования ⚙️ import java.util.concurrent.ConcurrentHashMap; public class Main { public static void main(String[] args) { ConcurrentHashMap map = new ConcurrentHashMap(); map.put("Alice", 1); map.put("Bob", 2); map.computeIfPresent("Alice", (key, val) -> val + 1); System.out.println(map); // {Alice=2, Bob=2} } } 👩💻 @javaquiz
#вопросы_с_собеседований Что будет, если в Map положить два значения с одинаковым ключом? Если в Map положить два значения с одинаковым ключом, то произойдет следующее: — При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано. — Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым. — Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ. Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены. 👩💻 @javaquiz
⚙️ String.replaceAll() В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк. 👩💻 @javaquiz
⚙️ Collectors.toMap() В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение. 👩💻 @javaquiz
⚙️ Stream.collect() с Collector.of() В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов. 👩💻 @javaquiz
⚙️ Collections.reverse() В Java метод Collections.reverse() изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок. 👩💻 @javaquiz
➡️ Использование Chronicle Map для распределенных ключ-значение хранилищ Chronicle Map — это мощный инструмент для создания распределенных хранилищ "ключ-значение" с высокой производительностью. Поддерживает работу с большими объемами данных в реальном времени и отлично подходит для высоконагруженных систем. • Поддерживает распределенные хранилища. • Минимальная задержка, высокая производительность. • Идеальна для финансовых и IoT-приложений. 🔗 Ссылочка на доку (https://github.com/OpenHFT/Chronicle-Map) 👩💻 @javaquiz
⚙️ Files.move() В Java метод Files.move() из пакета java.nio.file используется для переименования или перемещения файла/директории. Он является мощным инструментом для работы с файловой системой. 👩💻 @javaquiz
Метод isDaemon() Метод isDaemon() используется для определения, является ли поток демоном или нет. Демон (daemon) — это поток, который работает в фоновом режиме и не препятствует завершению программы. Основная программа может завершиться, даже если демон все еще выполняется. 👩💻 @javaquiz
➡️ Использование метода Stream.takeWhile() для фильтрации данных Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются. • takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента. 👩💻 @javaquiz
➡️ Использование метода Collectors.filtering() для фильтрации элементов при сборе в коллекцию Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока. • Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования. • Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию. 👩💻 @javaquiz
➡️ Apache Commons Lang Apache Commons Lang — это библиотека, которая расширяет стандартную библиотеку Java, предоставляя множество утилит для работы со строками, числовыми операциями, рефлексией и другими общими задачами программирования. 🗣 Если вам часто приходится манипулировать строками, работать с числами или использовать рефлексию, Apache Commons Lang может стать незаменимым помощником. 🔗 Ссылочка на доку (https://commons.apache.org/proper/commons-lang/) 👩💻 @javaquiz