Java задачи с собеседований
Відкрити в Telegram
Задачи, тесты и теоретические вопросы по JAVA. Репозиторий: https://github.com/proghub-official/java-interview Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny
Показати більше5 888
Підписники
-124 години
-87 днів
-2830 день
Архів дописів
🙌🙌🙌🙌 30 документов для тех, кто в диджитал
В преддверии новой активности мы собрали в одну папку 30 Telegram-каналов известных профессионалов и попросили их авторов подготовить для вас документы, которые помогут:
🔴Провести исследование через ИИ;
🔴Сдавать работы и получать акт день в день;
🔴Контролировать сроки и качества проектов;
🔴Отслеживать упоминания бренда в нейропоиске;
🔴Провести аудит HR-процессов;
🔴и еще много много всего!
❗️ Сохранив единожды папку «Документы для тех, кто в диджитал», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
Также они проводят розыгрыш с топовыми призами:
🥇Главный приз — MacBook Air (M2)
🥈2 место: Яндекс Станция Лайт 2
🥉3 место: Наушники HUAWEI Freebuds 5i
Как участвовать:
1. Подпишись на папку: https://t.me/addlist/AYTpZaCWIxA5NWNi
2. Подтверди участие в боте
До встречи 25 сентября — дата объявления победителя!
❓ Вопрос на собеседовании
Что такое 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
⚙️ System.nanoTime()
Метод System.nanoTime() в Java используется для получения текущего времени с высокой точностью, измеряемого в наносекундах. Этот метод полезен для точного измерения времени выполнения операций, например, для профилирования производительности вашего кода.
👩💻
@javaquiz
👩💻 Открытый урок «Создание потоковых приложений с использованием Kafka Streams».
На вебинаре разберем как с помощью Kafka Streams создавать потоковые приложения, что важно для работы с большими данными и потоками в реальном времени.
🗓 10 сентября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».
🎯 О чём поговорим:
✔️ Обсудим, что такое потоковые приложения и как их можно интегрировать с Kafka.
✔️ Изучим работу с библиотекой Kafka Streams и освоим основы DSL.
✔️ Разберемся в работе с состоянием потоков и его применении на практике.
👥 Кому будет интересно:
Этот вебинар будет полезен Java-разработчикам и архитекторам, которые хотят внедрять потоковые вычисления и анализ в свои приложения. Вы получите все необходимые знания, чтобы начать использовать Kafka Streams для создания высокоэффективных потоковых решений.
🎁 Дарим промокод, который дает скидку на обучение - JAVA_09
🔗 Ссылка на регистрацию: https://clck.ru/3Ny5K6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚙️ StringBuilder.append()
Метод append() класса StringBuilder позволяет эффективно добавлять строки к уже существующему объекту. В отличие от конкатенации строк с использованием оператора +, StringBuilder позволяет избежать создания новых объектов строк в процессе добавления.
👩💻
@javaquiz
⚙️ Math.floorMod
Метод Math.floorMod в Java выполняет деление по модулю с учётом знаков, возвращая всегда положительный остаток. Это полезно при работе с круговыми индексами или в математике с отрицательными числами.
👩💻
@javaquiz
⚙️ Collections.unmodifiableList()
В Java метод Collections.unmodifiableList() создаёт неизменяемый (immutable) список на основе существующего. Это удобно, когда нужно защитить коллекцию от изменений после её создания.
👩💻
@javaquiz
Как избежать God Object в Java: несколько способов
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/otus/articles/863050/
#вопросы_с_собеседований
Что будет, если в Map положить два значения с одинаковым ключом?
Если в Map положить два значения с одинаковым ключом, то произойдет следующее:
— При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано.
— Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым.
— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.
Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.
👩💻
@javaquiz
⚙️ Map.merge()
В Java метод Map.merge() объединяет значение для указанного ключа с новым значением с помощью заданной функции. Это удобно для обновления данных в словаре на основе существующих значений.
👩💻
@javaquiz
⚙️ String.format()
В Java метод String.format() позволяет форматировать строки с использованием плейсхолдеров и спецификаторов. Это удобно для создания строк с динамическими данными.
👩💻
@javaquiz
👩💻 Задача по Java: Подсчёт частоты слов в строке
Напишите метод, который принимает строку и возвращает Map, где ключи — это слова из строки, а значения — количество их вхождений. Игнорируйте регистр и удаляйте знаки препинания.
Пример:
public class Main {
public static void main(String[] args) {
String text = "Hello, world! Hello Java.";
Map result = countWordFrequency(text);
System.out.println(result);
// Ожидаемый результат:
// {hello=2, world=1, java=1}
}
}
Решение задачи на картинке ☝️
👩💻
@javaquiz
⚙️ String.replaceAll()
В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.
👩💻
@javaquiz
⚙️ Collectors.toMap()
В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.
👩💻
@javaquiz
REST или GraphQL? Этот выбор может определить, насколько удобным, быстрым и масштабируемым будет ваш API.
26 августа в 20:00 на открытом уроке мы разберём, когда стоит выбрать REST, а когда — GraphQL, а также реализуем оба подхода в Spring Boot. Эксперт покажет критерии выбора, разберёт практические кейсы и типичные ошибки.
Backend-разработчики на Java/Kotlin и тимлиды узнают, как применять эти технологии на практике, чтобы их проекты работали быстрее, были проще в сопровождении и готовыми к росту.
Вебинар проходит в преддверие старта курса «Разработчик на Spring Framework».
Регистрируйтесь сейчас и получите скидку на обучение: https://clck.ru/3NkfB4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Открытый урок «Лучшие практики Kafka и Schema Registry в backend-разработке на Java».
Kafka уже стала стандартом для высоконагруженных систем, а Schema Registry — ключом к надёжной работе с данными.
Хотите уверенно интегрировать их в свои Java-проекты?
Приглашаем на открытый урок
🗓 26 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».
🎯 О чём поговорим:
✔️ Разработка Kafka-продюсеров и консьюмеров на Java: шаблоны и анти-паттерны.
✔️ Работа со схемами данных: Avro, JSON-schema и интеграция со Schema Registry.
✔️ Управление версиями схем: совместимость, миграции и депрецирование.
✔️ Производительность и отказоустойчивость: настройки партиционирования, ретеншна и репликации.
✔️ Безопасность и мониторинг: аутентификация, авторизация и метрики Kafka.
👥 Кому будет интересно:
Java-разработчикам и архитектам, работающим с распределёнными системами, а также DevOps-инженерам, внедряющим Kafka в продакшен.
💡В результате урока вы:
— Освоите ключевые подходы к созданию надёжных Kafka-приложений на Java.
— Научитесь эффективно управлять схемами данных в Schema Registry и оптимизировать производительность ваших систем.
🎁 Дарим промокод, который дает скидку на обучение - JAVA_09
🔗 Ссылка на регистрацию: https://clck.ru/3Njijj
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
