Мок-интервью Python-разработчика: структуры данных и асинхронность
Кандидат отвечает на вопросы о dict, декораторах, GIL, asyncio, процессах и управлении памятью. Интервьюер подробно обсуждает пробелы в асинхронности и оценивает результат как Middle-.
- Опубликовано на YouTube:
- Просмотры на YouTube: 1,4 тыс.
- Лайки на YouTube: 12
Таймлайн
Коротко о видео
Публичное мок-собеседование начинается со знакомства с 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 защищают доступ к общим данным.