Вернуться в каталог собеседований

Собеседование Python developer на 3000$

Техническое собеседование Middle Python developer с вопросами по Python, Django, БД, архитектуре, API, безопасности и оптимизации. Включает разбор кода и обсуждение стека проектов команды.

Artem Levkivskyi
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 24,1 тыс.
  • Лайки на YouTube: 565
Открыть на YouTube

Таймлайн

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

Запись технического собеседования на позицию Middle Python developer: интервьюер последовательно спрашивает о Python, Django, базах данных, ООП, HTTP, безопасности и производительности. Кандидат отвечает на теоретические вопросы, разбирает предложенный сценарий code review для генерации JSON-отчёта и рассказывает о задачах из опыта с криптовалютным депозитным сервисом. В финале кандидат спрашивает о проектах команды; собеседники описывают Python/Django-микросервисы, Kafka, Celery и возможное присутствие Scala-сервисов.

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

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

  • Повторить изменяемость объектов Python: кортеж неизменяем, но содержащийся в нём изменяемый объект, например dict, можно менять.
  • Уметь объяснить контекстные менеджеры через __enter__ и __exit__, отделяя гарантированное освобождение ресурса от сохранения данных, которое зависит от конкретной операции записи.
  • Подготовиться к code review: оценивать читаемость имён, ответственность классов, избыточную вложенность, необходимость модификаторов доступа и комментариев.
  • Различать генераторы, итераторы и итерируемые объекты; генератор является итератором, но не каждый итератор — генератор.
  • Для asyncio чётко описывать I/O-bound сценарии, точки await и отличие конкурентности корутин от параллельного выполнения CPU-задач в процессах.
  • Разобраться в ленивом вычислении Django QuerySet и способах избежать N+1: select_related для одиночных связей и prefetch_related для коллекций связанных объектов.
  • Не предлагать MD5 для хранения паролей: нужны специализированные медленные алгоритмы хеширования паролей с уникальной солью, например Argon2, bcrypt, scrypt или PBKDF2.

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