Вернуться в видеотеку

Джун знает теорию, но не смог написать генератор?? / Лайвкодинг / Техсобес Junior Python Developer

Длинный mock-интервью по Junior Python: обсуждение проектов кандидата, архитектуры и внутренних механизмов Python, затем две задачи в лайвкодинге. Завершается конкретным фидбеком по технической подготовке и практике.

Источник: Python Mentor

Открыть на YouTube

Таймлайн

Коротко о видео

Это тестовое (mock) собеседование на позицию Junior Python Developer с кандидатом Тимерланом, который рассказывает о студенческих проектах: платформе общежитий, электронной цифровой подписи и уведомлениях. Собеседующие разбирают архитектуру, отделение бизнес-логики от инфраструктуры, CPU-bound подпись, многопоточность, многопроцессность, FastAPI, Python-основы и SOLID. В лайвкодинге кандидат пытается реализовать генератор чанков, стек и очередь на двух стеках; в финале ему дают развёрнутую обратную связь с акцентом на практику и самостоятельное написание кода.

Затронутые темы

Что взять на заметку

  • Для переработки учебного проекта стоит отделять бизнес-логику от ORM, базы данных и внешних API: при смене инфраструктуры не придётся переписывать доменный код и его тесты.
  • В обсуждаемом сценарии ЭЦП рассматривается как CPU-bound работа: синхронный вызов библиотеки в HTTP-обработчике блокирует обработку запроса, поэтому задачу имеет смысл выносить в фон и ограничивать число исполнителей очередью или пулом процессов.
  • Интервьюеры отдельно различают неблокирование event loop и реальную CPU-параллельность: BackgroundTasks или потоки могут не блокировать основной обработчик, но не заменяют процессный пул для CPU-bound нагрузки в типичном CPython-сценарии.
  • Для файлов, которые могут не поместиться в памяти, нужно проектировать потоковую обработку порциями, а не загружать содержимое целиком.
  • К подготовке по Python относятся не только определения: нужно уметь применить протокол итератора, генератор и yield в задаче, объяснить сохранение состояния генератора и отличие yield от return.
  • Очередь на двух стеках строится через входной и выходной стеки: при пустом выходном стеке элементы переливаются из входного, что даёт амортизированную константную стоимость основных операций.
  • По мнению собеседующих, кандидату полезно регулярно решать простые задачи без автодополнения и частых запусков, чтобы сократить разрыв между теоретическими ответами и лайвкодингом.

Рекомендуем посмотреть