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

Собеседование python Герман и Вячеслав vs декораторы

Практическое тренировочное собеседование по Python-декораторам с разбором двух реализаций: повторного вызова функции и кэширования результатов. Ведущий проверяет ход мысли участников, исправляет ошибки и даёт итоговый фидбек.

Источник: Андрей += Пронин

Открыть на YouTube

Таймлайн

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

Тренировочное собеседование для двух начинающих Python-разработчиков посвящено декораторам: один участник пишет декоратор повторных вызовов, другой — кэширующий декоратор. По ходу разбирают замыкания, `*args` и `**kwargs`, сохранение метаданных функции, генераторы, тестирование и ограничения ключей кэша. В финале ведущий даёт Герману и Вячеславу развивающую обратную связь и конкретные темы для доработки.

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

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

  • Нужно уметь объяснить, что декоратор принимает функцию, возвращает обёртку и может менять поведение до или после её вызова.
  • Для декоратора с параметром требуется дополнительный уровень замыкания: внешний слой принимает параметр декоратора, следующий — исходную функцию, внутренний — её аргументы.
  • `*args` передаёт позиционные аргументы, а `**kwargs` — именованные; при проксировании вызова их надо корректно распаковывать.
  • Кэширующий декоратор должен строить ключ только из хешируемых аргументов; список внутри аргументов делает такой ключ непригодным и требует понятной обработки ошибки или преобразования данных.
  • Кэш имеет смысл для функций, которые при одинаковых входных данных дают одинаковый результат; повторные вызовы при ошибках API — это отдельный сценарий retry-декоратора.
  • При написании декоратора важно сохранять имя и документацию обёрнутой функции, например через `functools.wraps`.
  • Для подготовки к собеседованию стоит отдельно практиковать декораторы, замыкания, итераторы и генераторы: ведущий назвал эти темы частыми вопросами.

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

56 мин
BackendJunior

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

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

1 ч 6 мин
BackendJunior

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

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