Мок-собеседование Junior Python-разработчика
Интервьюер проводит техническое собеседование Junior Python-разработчика. Разговор идёт от опыта кандидата к проектированию сервисов, очередям, базам данных, транзакциям и резюме.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2,4 тыс.
- Лайки на YouTube: 58
Таймлайн
Коротко о видео
Это длинная запись тестового технического собеседования на Junior Python-позицию. После знакомства кандидат описывает опыт и проект по проверке изображений, затем интервьюер развивает проектную задачу: сервис вокруг низкоуровневой библиотеки, FastAPI, Redis, Celery и фоновые воркеры. В беседе разбираются надёжная доставка, идемпотентность, масштабирование, репликация и шардирование, индексы, транзакции и конкурентный доступ к балансам. Кандидат объясняет асинхронный ответ через очередь и хранение денежных значений в целых единицах или Decimal. В финале интервьюер даёт обратную связь, обсуждает резюме и поиск работы; среди советов звучит спорное предложение завысить заявленный стаж. Для Junior формат намеренно затрагивает более широкие темы.
Затронутые темы
Что взять на заметку
- Для CPU-bound фоновой обработки задачу можно поместить в очередь, а клиенту сразу вернуть идентификатор результата.
- При возможных повторах доставки обработчик должен быть идемпотентным; блокировки применяют только при необходимости и с понятной семантикой.
- Масштабирование воркеров полезно связывать с бэклогом очереди и требуемой задержкой, а не только с загрузкой CPU.
- Репликация, шардирование и индексы решают разные проблемы базы данных и выбираются по профилю нагрузки и запросам.
- При конкурентных изменениях данных учитывают компромисс между повтором транзакций при оптимистическом подходе и ожиданием при пессимистических блокировках.
- Денежные значения не следует хранить в float: подходят Decimal или целые минимальные единицы.