Вернуться в видеотекуКоротко о видео
Это моковое собеседование на позицию Middle Python-разработчика: Булат задаёт Марине теоретические вопросы, затем проводит лайвкодинг и даёт развёрнутую обратную связь. Обсуждаются устройство Python, изменяемость и копирование объектов, декораторы, память и GIL, асинхронность, ООП и SOLID, Git, Docker, SQL, FastAPI и архитектура приложений. В лайвкодинге кандидат решает задачи на разбор арифметического выражения без eval, подсчёт символов без len и выбор трёх самых длинных слов для хэштегов; в конце разбирают пробелы в знаниях и материалы для дальнейшей подготовки.
Затронутые темы
Что взять на заметку
- Повторить модель объектов Python: mutable и immutable типы, опасность изменяемого значения по умолчанию, shallow copy и deepcopy, а также передачу ссылок на объекты в функции.
- Уметь объяснить механику декораторов, @wraps, сборку мусора, поколения GC, GIL и различия между asyncio, потоками и процессами для I/O- и CPU-bound задач.
- Подготовить практические ответы по SQL: JOIN, внешние ключи, транзакции и уровни изоляции PostgreSQL, индексы, а также различие EXPLAIN и EXPLAIN ANALYZE.
- Для FastAPI повторить путь запроса, маршрутизацию, middleware, endpoint-обработчики и вынос бизнес-логики в отдельные модули предметной области.
- На лайвкодинге сначала фиксировать формат входа и крайние случаи: деление на ноль, пунктуацию, сохранение порядка при равной длине слов и проверку решения assert-ами.
- Повторить проектирование по предметным областям, DDD и границы применимости микросервисов; интервьюер подчёркивает, что микросервисы не являются универсальным решением.