Собеседование на позицию Backend Developer Python + Django Middle #1
Учебное интервью на Middle Python/Django-разработчика с вопросами по Python, проектированию, Django/DRF и инфраструктурным основам backend-разработки.
Python собеседования
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 33,1 тыс.
- Лайки на YouTube: 732
Таймлайн
Коротко о видео
Пример мок-собеседования на Middle Python/Django-разработчика: интервьюер проверяет Python/OOP, SOLID, Django/DRF, REST, PostgreSQL, Celery, Redis и NoSQL. Кандидат отвечает на практические вопросы о наследовании моделей, размещении бизнес-логики, предотвращении N+1-запросов и разграничении доступа; интервьюер уточняет и корректирует отдельные формулировки. В конце обсуждаются устройство очередей Celery, хранение и персистентность Redis, а также отличие NoSQL от реляционных БД.
Затронутые темы
Что взять на заметку
- Подготовить различия между __new__ и __init__, назначение __slots__ и случаи, когда метаклассы действительно нужны.
- Уметь не только расшифровать SOLID, но и объяснить SRP через «одну причину для изменения», LSP через подстановку наследника вместо родителя и DIP через зависимость от абстракций.
- Сравнивать композицию с наследованием: композиция уменьшает связанность, но при чрезмерном дроблении может усложнить структуру.
- Разобраться в Django multi-table inheritance и abstract base classes: у неабстрактного родителя создаётся отдельная таблица и связь с родительской записью.
- Аргументированно размещать логику: поведение сущности — в модели, форматирование и валидацию входа/выхода — в serializer, переиспользуемую логику QuerySet — в manager.
- Для списков связанных объектов знать select_related и prefetch_related и уметь применить их против N+1-запросов.
- Повторить DRF permissions для объектного доступа, REST constraints, B-tree-индексы PostgreSQL, роли broker/worker/Flower в Celery и TTL/персистентность Redis.