Ctrl K
Java · Middle · Теория

Вам нужно настроить пул потоков для обработки входящих задач в сервисе. Какие параметры ThreadPoolExecutor вы выставите и почему Executors.newFixedThreadPool подходит не всегда?

~4 мин голосом

Как подойти

Проверяют, понимаете ли вы, как реально работает ThreadPoolExecutor (порядок core → очередь → max → reject), и видите ли риск неограниченной очереди в фабричных методах Executors. Плюс — умеете ли вы довести пул до продакшен-состояния: размер под тип нагрузки, отказ, имена, мониторинг, корректное завершение.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыНапишите асинхронную функцию fetch_all, которая принимает список URL, асинхронную функцию загрузки одного URL и лимит одновременных запросов. Она возвращает результаты в том же порядке, что и URL, а ошибка одного запроса не должна ронять остальные. SeniorНапиши потокобезопасный класс RateLimiter: в конструктор передают, сколько запросов в секунду разрешено, а метод tryAcquire без ожидания возвращает true, если запрос можно пропустить, и false, если лимит исчерпан. Его будут вызывать одновременно из многих потоков. SeniorВозьмём перевод между двумя счетами, которые лежат в одной базе: списать с одного, зачислить на другой. Как вы это реализуете, чтобы при параллельных операциях деньги не потерялись и баланс не ушёл в минус? SeniorНесколько потоков одновременно делают counter++ над общей переменной, и в итоге значение получается меньше ожидаемого. Объясните, что именно происходит на уровне процессора и памяти, и какими способами это можно исправить — чем они отличаются внутри. MiddleНапишите rate limiter для API по алгоритму token bucket: функция allow принимает идентификатор клиента и возвращает, можно ли пропустить его запрос. У каждого клиента есть ёмкость корзины и скорость пополнения токенов в секунду, а сам лимитер вызывается из многих потоков одновременно. Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~4 мин