Вернуться в видеотеку

Python мок-интервью: rate limiting, Redis и конкурентность

Живое мок-собеседование для Python-бэкендера: кандидат проектирует rate limiter, разбирает GIL и конкурентность, затем обсуждает архитектуру асинхронного сервиса транскрибации видео, очереди, Celery и масштабирование.

Источник: ШОРТКАТ — менторская программа

Открыть на YouTube

Таймлайн

Коротко о видео

В живом мок-собеседовании кандидат с примерно 2,5 годами опыта отвечает на вопросы о rate limiting: Fixed Window, Token Bucket и Leaky Bucket, идентификации анонимных клиентов при CGNAT, Redis и атомарности. Затем обсуждаются middleware и декораторы Django, GIL, потоки, процессы, asyncio и примитивы синхронизации. Во второй задаче участники проектируют асинхронный сервис транскрибации загружаемого видео: S3, FFmpeg, Celery, брокеры, гарантии доставки, Transactional Outbox, ретраи, восстановление долгих задач, масштабирование и наблюдаемость. В финальной обратной связи интервьюер характеризует этот набор вопросов как уровень Middle+ и выделяет у кандидата точки роста в системном дизайне и проработке неструктурированных задач.

Затронутые темы

Что взять на заметку

  • Алгоритм rate limiting выбирают по ожидаемым всплескам нагрузки и допустимому характеру ограничения.
  • IP-адрес не всегда идентифицирует одного пользователя из-за CGNAT, прокси и анонимных клиентов.
  • Для многошаговой логики rate limiting в Redis счётчик и срок жизни ключа нужно обновлять как единое действие, например Lua-скриптом. Раздельные INCR и EXPIRE могут нарушить инвариант.
  • В CPython GIL не делает составные операции над общим состоянием безопасными. Для CPU-bound вычислений обычно используют процессы, а I/O-bound нагрузка может выигрывать от потоков или asyncio.
  • Многоэтапную обработку стоит делить на независимые задачи, хранить промежуточное состояние вне воркера и ретраить только упавший этап.

Рекомендуем посмотреть

1:45:17
BackendMiddle

Мок-собеседование Python Developer: конкурентность и код-ревью

Публичное мок-собеседование Python-разработчика: память и хеширование в Python, генераторы, asyncio, PostgreSQL и пагинация API. В код-ревью сервиса с SQLAlchemy обсуждают транзакции, N+1, блокирующие вызовы, CPU-bound задачи, SQL-инъекции и фоновые воркеры.

57:02
BackendJunior

Python: техническое собеседование Junior-разработчика

Тестовое техническое мок-собеседование на позицию Junior Python-разработчика. Кандидат рассказывает о пет-проектах на Django и FastAPI, затем отвечает на вопросы о Celery, Redis, оптимизации ORM, SQL-индексах, асинхронности и устройстве веб-фреймворка. В финале он получает фидбек и рекомендации по самопрезентации.