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

#22 Как Стёпа собес на Python / Django / React проходил

Разбор технического Python-собеседования на Fullstack-позицию с вопросами о конкурентности, структурах данных, семантике объектов и ООП. Автор дополняет ответы кандидата и отмечает отдельные неточности.

Источник: Вадим Новосёлов | Карьера в IT

Открыть на YouTube

Таймлайн

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

Автор разбирает записанное собеседование Степана на заявленную позицию Mid-level Fullstack-разработчика: кандидат отвечает на вопросы, а автор поясняет и иногда оспаривает ответы. Основные темы — GIL, потоки и asyncio в Python, хеш-таблицы и словари, изменяемость объектов и передачa аргументов, генераторы, итераторы и ООП-протоколы. В конце автор сообщает, что продолжение с вопросами по Django и React вынесено во вторую часть.

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

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

  • Для собеседования стоит объяснять GIL применительно к CPython и разделять I/O-bound-задачи, CPU-bound-задачи, asyncio, потоки и процессы; тезисы из ролика о превосходстве asyncio над потоками требуют привязки к типу нагрузки.
  • Ключ словаря должен быть хешируемым; полезно уметь связно объяснить роли __hash__ и __eq__, коллизии и то, что поиск в dict и set обычно имеет среднюю сложность O(1).
  • Нужно различать изменение объекта по ссылке и переназначение локального имени в функции, а также уверенно разбирать вывод примеров с изменяемыми списками и словарями.
  • Не следует использовать изменяемый объект, например список, в качестве значения параметра по умолчанию: он создаётся один раз и сохраняет изменения между вызовами.
  • Полезно подготовить точные определения ленивых вычислений, генераторов и итераторов, включая протокол __iter__ и __next__.
  • Стоит различать экземплярные методы, @classmethod и @staticmethod, а также знать назначение __new__, dataclasses, Pydantic и контекстных менеджеров с __enter__ и __exit__.
  • В ролике используются задачи на предсказание вывода кода; для подготовки важнее проговаривать причину результата, чем только называть ответ.

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

56 мин
BackendJunior

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

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

1 ч 6 мин
BackendJunior

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

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