Виталий Лихачев, Павел Мальцев: Публичное собеседование Senior Python Engineer

YOUTUBE · 30.11.2025 05:24

Ключевые темы и таймкоды

Публичное собеседование по Python

0:00
  • Обсуждение использования Python для разработки бэк-энда и его популярности в индексах языков программирования.
  • Вопрос о том, почему Python не используется для разработки бэк-энда в некоторых компаниях и отраслях.

Примеры использования Python

9:20
  • Пример использования Python для создания конечного автомата, который помогает бизнесу и нравится разработчику.
  • Обсуждение использования готовых библиотек для создания конечного автомата и необходимости написания кода с нуля для некоторых функций.

Разогревочная задача

12:26
  • Пример задачи на понимание работы с мутируемыми типами данных в Python.
  • Объяснение проблемы, которая может возникнуть при использовании мутируемых типов данных в дефолте, и как ее можно решить.

Реализация функции

13:44
  • Обсуждается реализация функции, которая фильтрует список чисел на четность.
  • Рассматриваются две реализации: через compreens и через append.
  • Обсуждаются различия между ними и их оптимальность.

Устройство словарей в Python

20:34
  • Обсуждается устройство словарей в Python, их ключи и значения.
  • Рассматривается, как решаются коллизии и как они работают под капотом.

Задачи на словари

25:05
  • Рассматриваются задачи на работу со словарями, включая сравнение и использование разных типов данных в качестве ключей.

Особенности Python

28:04
  • Обсуждаются особенности Python, включая использование одно- и двух подчеркиваний для обозначения приватных функций и атрибутов.

Обсуждение оптимизации и производительности

30:52
  • В видео обсуждается оптимизация и производительность в Python.
  • Обсуждаются различные способы оптимизации, такие как использование декораторов и мап.
  • Также обсуждаются проблемы с производительностью, связанные с использованием функций и рекурсии.

Оптимизация и производительность в Python

42:02
  • В видео обсуждаются различные способы оптимизации и производительности в Python, включая использование мап и декораторов.
  • Обсуждаются проблемы с производительностью, связанные с использованием рекурсии и глубиной рекурсии.
  • В видео также обсуждаются концепции, такие как интернирование строк и карирование функций.

Обсуждение кода

48:45
  • Автор обсуждает код, который он написал, и пытается понять, как его улучшить.
  • Он обсуждает различные части кода и пытается понять, как они работают.

Мета-классы

54:19
  • Автор обсуждает мета-классы и их применение в Python.
  • Он объясняет, что мета-классы используются для создания объектов и наполнения их определенными свойствами.

Синхронизация и асинхронность

57:21
  • Автор обсуждает разницу между синхронизацией и асинхронностью в Python.
  • Он объясняет, что синхронизация позволяет выполнять операции параллельно, а асинхронность - последовательно, но с освобождением потоков.

Контекстные менеджеры

1:02:51
  • Автор обсуждает контекстные менеджеры и их применение в Python.
  • Он предлагает задачу, где контекстный менеджер должен игнорировать определенные исключения.

Обсуждение Python

1:06:16
  • Собеседник обсуждает контексты менеджера и инвентивность, а также объясняет, что он проверяет не значение того, что приходит, а тип того, что не приходит.
  • Он также обсуждает наследование и то, как можно ловить ошибки не только в основной программе, но и в ее дочерних.

Вопросы и ответы

1:08:36
  • Собеседник делится своими впечатлениями от собеседования, отмечая, что это всегда интересное приключение, так как он узнает новые вещи и решает интересные задачи.
  • Он также обсуждает, что в Python можно сделать замыкание, и что это было небезопасно до определенной версии.

Заключение

1:13:02
  • Собеседник благодарит Виталия за подготовленные задачи и Павла за прохождение сложного квеста.
  • Он также предлагает зрителям бежать от Python, так как это может быть сложно и не стоит усилий.
  • Он упоминает, что Instagram, YouTube и другие компании используют Python, но они оптимизируют его под свои нужды.