Собеседование python разработчик в мой стартап | Федор (пожелал остаться неизвестным)
Практическое Python/Django-собеседование с совместной разработкой небольшого DRF-сервиса для вопросов к интервью. В конце обсуждаются условия возможной неоплачиваемой стажировки и рабочий процесс проекта.
- Опубликовано на YouTube:
- Просмотры на YouTube: 8,4 тыс.
- Лайки на YouTube: 166
Таймлайн
Коротко о видео
Запись практического собеседования Фёдора на неоплачиваемую стажировку в неназванный проект: он рассказывает, как пришёл в Python через автоматизацию Excel-отчётов и интернет-магазинов с Selenium. Затем собеседующие вместе собирают на Django и Django REST Framework минимальный сервис с категориями и вопросами для подготовки к интервью, параллельно разбирая виртуальные окружения, миграции, модели, сериализаторы и оптимизацию запросов. В финале интервьюер положительно оценивает кандидата и предлагает участие в проекте; Фёдор просит время до среды, чтобы принять решение.
Затронутые темы
Что взять на заметку
- Фёдор начал изучать Python, чтобы автоматизировать ежедневную сводку нескольких Excel-таблиц; позднее автоматизировал обновление цен и действия в браузере через Selenium.
- Виртуальное окружение обсуждается как способ изолировать зависимости конкретного проекта от системного Python и других проектов.
- В ходе проверки выясняется, что простой endpoint без обращения к моделям может работать без регистрации приложения в INSTALLED_APPS, но регистрация нужна, чтобы Django находил модели при миграциях.
- Для MVP проектируют QuizCategory и Quiz: категория имеет name и уникальный slug, а вопрос связан с категорией через ForeignKey с CASCADE и related_name.
- В DRF создают сериализаторы и ViewSet для списка категорий и получения вопросов по slug категории; для вложенных вопросов применяют prefetch_related, чтобы избежать отдельных запросов на каждый объект.
- Собеседование затрагивает изменяемые и неизменяемые объекты Python, риск mutable-значений по умолчанию и позднее связывание переменной в lambda-функциях.
- Интервьюер описывает предполагаемый процесс проекта: еженедельный выбор задач, гибкая занятость и CI/CD с Flake8 и минимальными тестами перед прохождением pull request.