Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Можно ли использовать concurrent.futures.ThreadPoolExecutor в FastAPI эндпоинте? Это опасно?
Использование ThreadPoolExecutor в FastAPI возможно, но требует осторожности, так как это может повлиять на производительность и масштабируемость приложения.
В чем разница между очередями concurrent и serial?
serial (последовательная) очередь выполняет одну задачу за раз в порядке добавления.concurrent (параллельная) очередь начинает задачи в порядке добавления, но может выполнять их одновременно, если есть свободные потоки.
Как избежать ConcurrentModificationException при удалении элементов из коллекции во время итерации?
Используйте:
Iterator.remove().
Копирование коллекции (new ArrayList<>(list)).
Потокобезопасные коллекции (ConcurrentHashMap).
Параллелизм в ConcurrentHashMap vs Collections.synchronizedMap
ConcurrentHashMap делит данные на сегменты (бакеты), позволяя параллельно писать в разные сегменты. Collections.synchronizedMap блокирует всю коллекцию на каждую операцию. Это делает ConcurrentHashMap быстрее в многопоточной среде.
Чем отличаются последовательные (serial) и конкурентные (concurrent) очереди?
Serial (последовательные): Задачи выполняются строго по очереди, одна за другой.
Concurrent (конкурентные): Задачи могут выполняться одновременно на разных потоках.
Возможно ли ConcurrentModificationException в однопоточном коде? Причины.
Чем ConcurrentHashMap отличается от синхронизированных коллекций? (блокировка сегментов)
Почему deadlock не возникает в concurrent queue?
Какие потенциальные проблемы возможны при sync на concurrent queue?
Что ты знаешь о пакете java.util.concurrent?
Рейтинг:
1
Сложность:
6
Да, это исключение может возникать в одном потоке при изменении коллекции во время итерации (например, через for-each).
Рейтинг:
1
Сложность:
5
ConcurrentHashMap использует блокировку сегментов (только части данных), тогда как синхронизированные коллекции (Collections.synchronizedMap) блокируют весь объект, что снижает производительность.
Рейтинг:
4
Сложность:
6
В concurrent queue может выполняться несколько задач одновременно.
Поэтому очередь не блокируется одной задачей целиком.
Даже если используется sync, другие задачи могут быть выполнены параллельно.
Из-за этого классический deadlock возникает реже.
Рейтинг:
4
Сложность:
7
sync на concurrent queue обычно не приводит к deadlock, но может вызвать другие проблемы.
Возможны гонки данных, приоритетные инверсии и деградация производительности.
Также код становится сложнее для понимания и отладки.
Такие ошибки часто проявляются нестабильно и сложно воспроизводятся.
Рейтинг:
5
Сложность:
7
java.util.concurrent — это пакет для упрощения многопоточного программирования.
Он содержит потоки, пулы, синхронизаторы и потокобезопасные коллекции.
Этот пакет снижает необходимость ручной синхронизации.
Он является основой современной конкурентности в Java.
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
5