Ctrl K

Библиотека вопросов

Вопросы с настоящих собесов. Любой можно отработать голосом за пару минут — с интервьюером, баллом и разбором.

Что такое GIL в Python и как он влияет на многопоточные программы?Python · ТеорияJuniorЧто такое состояние гонки? Приведите пример из бэкенда и расскажите, как его избежать.Backend · ТеорияJuniorВам нужно настроить пул потоков для обработки входящих задач в сервисе. Какие параметры ThreadPoolExecutor вы выставите и почему Executors.newFixedThreadPool подходит не всегда?Java · ТеорияMiddleВо время распродажи интернет-магазин продал больше товара, чем было на складе. Код сначала проверяет остаток, а потом уменьшает его. Почему так получилось и как это исправить?Backend · ТеорияMiddleНесколько потоков одновременно делают counter++ над общей переменной, и в итоге значение получается меньше ожидаемого. Объясните, что именно происходит на уровне процессора и памяти, и какими способами это можно исправить — чем они отличаются внутри.ТеорияMiddleНужно параллельно сходить в три внешних сервиса и собрать из их ответов один результат. Как вы сделаете это на CompletableFuture и на что обратите внимание?Java · ТеорияMiddleОдин поток выставляет флаг остановки, а рабочий поток в цикле этот флаг проверяет и иногда так и не останавливается. Почему так бывает и как это исправить?Java · ТеорияMiddleУ вас скрипт, который сначала скачивает несколько тысяч картинок по сети, а потом ресайзит их. Что вы возьмёте для каждой части — потоки, процессы или asyncio — и почему?Python · ТеорияMiddleСпроектируйте локальный in-memory кеш справочников в Java-сервисе: его читают тысячи запросов в секунду, а данные в источнике обновляются раз в несколько минут.Java · ДизайнMiddleВозьмём перевод между двумя счетами, которые лежат в одной базе: списать с одного, зачислить на другой. Как вы это реализуете, чтобы при параллельных операциях деньги не потерялись и баланс не ушёл в минус?ТеорияSeniorВы оркестрируете несколько вызовов внешних сервисов через CompletableFuture. Какие подводные камни вы встречали и как их обходите?Java · ТеорияSeniorКак вы будете тестировать API создания платежа на идемпотентность и конкурентные запросы?QA · ТеорияSeniorКак устроен ConcurrentHashMap в современных версиях Java и чем его внутреннее устройство отличается от обычного HashMap?Java · ТеорияSeniorНесколько инстансов сервиса раз в минуту запускают одну и ту же фоновую задачу, и иногда она выполняется дважды. Как вы это исправите?Backend · ТеорияSeniorОбъясните, что такое GIL и как он влияет на выбор между потоками, процессами и asyncio. Что меняет free-threaded сборка CPython?Python · ТеорияSeniorЧто такое Java Memory Model и отношение happens-before? Расскажите, какие гарантии даёт volatile и где его недостаточно.Java · ТеорияSeniorСпроектируйте на Java сервис, который потребляет события из Kafka, обрабатывает их параллельно и пишет результат в базу. Как вы обеспечите производительность, порядок и отсутствие потерь?Java · ДизайнSeniorСпроектируйте на Java сервис, который принимает тысячи запросов в секунду и для каждого ходит в несколько медленных внешних систем. Как вы организуете потоки, пулы и защиту от перегрузки?Java · ДизайнSeniorСпроектируйте систему продажи билетов на концерт, где в момент старта продаж приходят сотни тысяч человек на несколько тысяч мест.Backend · ДизайнSeniorНапиши потокобезопасный класс RateLimiter: в конструктор передают, сколько запросов в секунду разрешено, а метод tryAcquire без ожидания возвращает true, если запрос можно пропустить, и false, если лимит исчерпан. Его будут вызывать одновременно из многих потоков.Java · КодSeniorНапишите rate limiter для API по алгоритму token bucket: функция allow принимает идентификатор клиента и возвращает, можно ли пропустить его запрос. У каждого клиента есть ёмкость корзины и скорость пополнения токенов в секунду, а сам лимитер вызывается из многих потоков одновременно.Backend · КодSeniorНапишите асинхронную функцию fetch_all, которая принимает список URL, асинхронную функцию загрузки одного URL и лимит одновременных запросов. Она возвращает результаты в том же порядке, что и URL, а ошибка одного запроса не должна ронять остальные.Python · КодSenior