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

15 теоретических вопросов для начинающего Python-программиста на собеседовании (и 1 задача)

Учебное публичное интервью для начинающего Python-разработчика с теорией, лайвкодингом и разбором подготовки к найму. В конце обсуждают деплой Django-проекта, нужный стек и специализацию Python-бэкендера.

Источник: Hexlet

Открыть на YouTube

Таймлайн

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

Это учебное публичное собеседование начинающего Python-разработчика: кандидат рассказывает о пет-проекте книжного клуба на Django с управлением через Telegram-бота и отвечает на теоретические вопросы. Разбираются изменяемость и хешируемость типов, словари, сложность алгоритмов, контекстные менеджеры, асинхронность, threading, декораторы, dunder-методы, SQL и ООП. В лайвкодинге кандидат с подсказками пишет подсчёт частот чисел в списке, а в финале получает рекомендации по подготовке, деплою и развитию в Python-бэкенде.

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

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

  • Для словарей нужно понимать разницу между неизменяемостью и hashable-объектами: ключ обязан быть хешируемым; кортеж годится ключом только если все его элементы хешируемы.
  • Подготовьте объяснение, почему поиск по словарю обычно быстрее поиска по списку, и повторите асимптотическую сложность базовых алгоритмов.
  • Асинхронность в Python стоит объяснять через неблокирующее ожидание I/O: она помогает не простаивать на сетевых запросах, но не ускоряет CPU-bound вычисления сама по себе.
  • Повторите контекстные менеджеры, различия sync/async-контекста, event loop, корутины, create_task, threading и GIL — именно в этой части кандидат испытывал наибольшие затруднения.
  • Нужно уметь объяснить декораторы через функции высшего порядка и замыкания, callable-объекты и назначение dunder-методов, включая __call__.
  • Для собеседования по Python-бэкенду стоит отдельно повторить индексы в реляционных БД и механизм SQL JOIN: по словам кандидата, это его слабая область.
  • Практикуйте задачи на подсчёт частот: пройти список один раз, хранить счётчики в словаре, обработать отсутствие ключа и проверить результат тестом; вложенные проходы легко дают O(n²).

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

56 мин
BackendJunior

Михаил Выборный собеседование junior python разработчик

Пробное собеседование junior Python-разработчика с разбором софт-скиллов, базового Python-кодинга, декораторов и замыканий. В конце участнику дают предметную обратную связь и обсуждают смоделированные условия работы.

1 ч 6 мин
BackendJunior

Junior Python developer. Публичное собеседование Яков Варнаев

Учебное публичное собеседование Junior Python/Django-разработчика с живым разбором Django-проекта и демонстрацией личного API-проекта для Dungeons & Dragons. В финале участники разбирают вопросы кандидата и дают обратную связь.