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

Мок-интервью Python-разработчика: структуры данных и асинхронность

Кандидат отвечает на вопросы о dict, декораторах, GIL, asyncio, процессах и управлении памятью. Интервьюер подробно обсуждает пробелы в асинхронности и оценивает результат как Middle-.

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

Открыть на YouTube

Таймлайн

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

Публичное мок-собеседование начинается со знакомства с backend-инженером Авито и кандидатом с опытом Django и FastAPI. Интервьюер проводит базовый Python-собес без лайвкодинга и System Design: обсуждаются dict и коллизии, хэшируемость, set, декораторы и functools.wraps; затем — потоки, GIL, asyncio, event loop, неблокирующие сокеты, Task и Future, процессы, IPC, shared memory и примитивы синхронизации. В конце технической части разбираются reference counting, циклические ссылки, поколения GC и аллокатор памяти Python. После рекламной паузы интервьюер даёт фидбэк: асинхронность и сетевой стек названы ключевыми зонами роста, а уровень кандидата оценивается как Middle-. Далее следуют вопросы зрителей.

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

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

  • Ключи dict должны быть хэшируемыми, а __hash__ и __eq__ должны согласованно определять поведение пользовательского объекта.
  • Декораторы полезны для сквозных задач, но разные политики retry лучше не жёстко связывать с одной функцией.
  • GIL ограничивает выполнение Python bytecode в потоках, поэтому CPU-bound работу часто выносят в процессы или C-расширения.
  • В asyncio блокирующий вызов останавливает event loop; сетевой ввод-вывод должен быть неблокирующим.
  • Shared memory требует синхронизации: mutex и semaphore защищают доступ к общим данным.

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