Мок-интервью Python-разработчика уровня Middle
Публичное мок-собеседование Python-разработчика уровня Middle. Кандидат отвечает на вопросы по ООП и SOLID, множественному наследованию и MRO, метаклассам, IPC и примитивам синхронизации. Отдельно обсуждаются пагинация и изменение batch-метода при деградации PostgreSQL; в конце интервьюер даёт обратную связь по зонам роста.
- Опубликовано на YouTube:
- Просмотры на YouTube: 733
- Лайки на YouTube: 13
Таймлайн
Коротко о видео
Senior backend-инженер проводит публичное мок-собеседование Python-разработчика с примерно двумя годами опыта. Разговор начинается с ООП и SOLID, затем охватывает множественное наследование, MRO и diamond problem, метаклассы, межпроцессное взаимодействие и синхронизацию. В архитектурном кейсе кандидат рассуждает о batch-методе без пагинации, который перегружает PostgreSQL, и о последствиях изменения общего метода. В финале кандидат получает обратную связь: стоит углубить знания об агрегации и композиции, метаклассах и примитивах синхронизации ОС. После технической части есть рекламный блок и Q&A о подготовке к интервью.
Затронутые темы
Что взять на заметку
- Префиксы _ и __ в Python не создают абсолютный запрет на доступ к атрибуту: _ служит соглашением, а __ включает name mangling.
- При множественном наследовании порядок разрешения методов в Python задаёт C3-линеаризация (MRO), а не простой обход графа классов.
- Пагинация и ограничение размера batch-запросов снижают риск чрезмерной нагрузки на PostgreSQL; при изменении общего метода нужно оценивать последствия для всех его потребителей.
- asyncio.Lock координирует корутины в пределах одной реплики; для синхронизации между репликами нужны внешние механизмы, например транзакции и блокировки БД, Redis или отдельный сервис.