Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

1254 вопроса 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 1254
Лайвкодинг

Реализуйте rate limiter для обработчика: у каждого клиента есть client_id, limit и interval; нужно ограничить число вызовов handler для каждого клиента в скользящем временном окне и выбрасывать RateLimitExceededError.

Для точного скользящего окна храните очередь времён допущенных вызовов по clientid. Перед новым вызовом удалите события старше окна и сравните оставшееся количество с limit.

Читать ответ
Теория

Что считается блокирующей операцией в asyncio? Является ли формирование списка из миллиарда элементов блокирующим?

Блокирующая для event loop операция долго не возвращает ему управление. Это бывает не только при I/O: построение списка из миллиарда элементов также занимает поток и огромный объём памяти.

Читать ответ
Теория

Почему aiohttp может выполнять HTTP-запросы неблокирующе, а requests — нет?

aiohttp интегрирован с event loop и отдаёт управление на ожидании сетевого I/O. requests предоставляет синхронный интерфейс и удерживает вызывающий поток до завершения операции.

Читать ответ
Теория

Что такое генераторы и контекстные менеджеры в Python? Как вы с ними работали?

Генератор выдаёт значения по мере обхода через yield, не создавая всю последовательность сразу. Контекстный менеджер задаёт вход и выход из блока with, в том числе очистку при исключении.

Читать ответ