32 вопроса
Практика
Можешь описать разные типы наследования, поддерживаемые в Python, и привести примеры каждого из них?
Как ты создаёшь и используешь абстрактные классы в Python с помощью модуля `abc`, и какая цель у декоратора `@abstractmethod`?
Можешь объяснить ключевые различия между методами экземпляра, методами класса (с использованием `@classmethod`) и статическими методами (с использованием `@staticmethod`) в Python, включая их параметры и типичные случаи использования?
Можешь объяснить, как Python передаёт аргументы в функции и чем этот механизм отличается для неизменяемых и изменяемых типов данных?
Как работают `*args` и `**kwargs` в Python, и для чего они нужны в определении функций?
Можешь объяснить, что такое lambda-функция в Python, и привести пример её синтаксиса и случая использования?
Можешь объяснить ключевые различия между функциями `map()`, `filter()` и `reduce()` в Python, включая их назначение и то, как каждая из них обрабатывает итерируемый объект?
Можешь объяснить, что такое dunder-методы в Python и привести примеры того, как они позволяют классам интегрироваться с встроенными операциями и синтаксисом Python?
Можешь объяснить, как правило LEGB в Python определяет область видимости переменных и в каком порядке Python ищет имена переменных на разных уровнях области видимости?
Можешь объяснить разницу между ключевыми словами `global` и `nonlocal` в Python, включая их области видимости и случаи использования?
Можешь объяснить, что такое рекурсивная функция, и описать ключевые компоненты, необходимые для её безопасной реализации на Python?
Объясни концепцию аргументов по умолчанию в Python и описывай, почему использование изменяемых объектов как значений по умолчанию может привести к неожиданному поведению при множественных вызовах функции.
Можешь объяснить, что такое функции первого класса в Python, и привести примеры их использования?
Можешь ли ты объяснить, что такое функции высшего порядка в Python, и привести несколько практических примеров их использования?
Можешь объяснить, как работает `functools.partial`, и показать, как его можно использовать для создания новой функции с предзаполненными аргументами?
Можешь объяснить назначение и функцию метода `__init__()` в Python, а также описать, как он используется при создании экземпляра объекта?
Можешь объяснить назначение и роль параметра `self` в методах Python-классов?
Можешь объяснить взаимосвязь между классами и объектами в Python и описать, как класс служит шаблоном для создания отдельных экземпляров?
Можешь ли ты объяснить четыре фундаментальных принципа объектно-ориентированного программирования (OOP) в контексте разработки на Python?
Как Python обрабатывает множественное наследование, и какой механизм он использует для разрешения порядка поиска методов?
Можешь объяснить Method Resolution Order (MRO) в Python и описать, как он определяет последовательность, в которой Python ищет методы в иерархии классов?
Можешь объяснить, как работает полиморфизм в Python и описать разные механизмы его реализации?
Можешь объяснить концепцию инкапсуляции в Python, включая то, как она скрывает внутреннее состояние, и соглашения об именовании для обозначения public, protected и private атрибутов?
Можешь объяснить три уровня модификаторов доступа в Python и описать, как каждый из них контролирует видимость и доступность атрибутов и методов класса?
Как бы ты объяснил абстракцию данных в Python, и какие механизмы предоставляет язык для её реализации?
Можешь объяснить различие между dunder методами `__str__` и `__repr__` в Python, включая их предназначение и случаи использования?
Можешь объяснить, для чего нужен магический метод `__call__` в Python и показать, как он позволяет вызывать объекты как функции?
Как бы ты объяснил перегрузку операторов в Python, и можешь ли ты привести примеры её реализации с помощью dunder методов?
В Python, что такое дескрипторы и какую роль они играют в настройке доступа к атрибутам?
Как атрибут `__slots__` оптимизирует использование памяти и доступ к атрибутам в классах Python?
Можешь объяснить, что такое monkey patching в Python, включая его use cases и потенциальные минусы?
Можешь объяснить, что такое метакласс в Python и описать, как его можно использовать для кастомизации создания класса?