Вернуться в видеотекуСобеседование на позицию Backend Developer Python Middle #5
Техническое Python backend-собеседование с вопросами по базам данных, асинхронности, сетевым протоколам и WebSocket. Заключительная часть посвящена проектированию сервиса изображений при переходе от монолита к микросервисам.
- Направление
- Backend
- Формат
- Техническое собеседование
- Грейд
- Middle
- Длительность
- 36 мин
Коротко о видео
Запись технического собеседования на позицию Python Backend Middle: кандидат отвечает на вопросы об уровнях изоляции транзакций, asyncio, GIL, сокетах, TCP/UDP и WebSocket. Интервьюер уточняет устройство текстового HTTP-запроса и объясняет, что WebSocket начинается с HTTP-запроса с заголовком Upgrade. В финальном system-design кейсе обсуждается выделение сервиса изображений из монолита, его независимость от бизнес-сущностей, загрузка файлов и передача метаданных через события или брокер.
Затронутые темы
Что взять на заметку
- Повторить уровни изоляции транзакций и аномалии чтения: грязное и неповторяемое чтение; уметь объяснить, какую проблему устраняет каждый уровень.
- Уметь описать asyncio через корутины, задачи и event loop, отдельно понимая кооперативную передачу управления в точках await.
- Подготовить точное объяснение GIL в CPython и его практических ограничений для CPU-bound задач, не сводя ответ только к тезису «всё выполняется в одном потоке».
- Различать сокет и транспортный протокол: для сетевого соединения важны IP-адрес, порт и протокол; TCP гарантирует доставку и порядок, UDP — нет.
- Знать, что HTTP — текстовый протокол: запрос содержит стартовую строку, заголовки и при необходимости тело; его можно составить вручную поверх TCP-соединения.
- Объяснять WebSocket handshake: соединение начинается как HTTP-запрос и переключается через Upgrade, в том числе для прохождения промежуточной инфраструктуры и firewall.
- В system design сервиса изображений отделять хранение и обработку файлов от бизнес-логики монолита; для прямой загрузки в сервис нужны метаданные или событие, позволяющие монолиту связать файл с нужной доменной сущностью.