Вопросы к экзамену 1 по ООП (Python)
Только вопросы для самопроверки — без ответов. Ответы см. в
private_exam_answers_1.md, практические задачи — в private_exam_tasks_1.md,
билеты — в private_exam_tickets_1.md.
Экзамен 1 охватывает базовый и продвинутый ООП (лекции разделов 1–2).
- Что такое класс и объект в ООП? В чём разница между ними?
- Объясните принцип инкапсуляции в Python. Как она реализуется?
- Что такое наследование? Как работает множественное наследование в Python?
- Что такое полиморфизм? Как он реализуется в Python?
- В чём разница между
__str__и__repr__? - Что такое абстрактные классы? Как они реализуются в Python?
- Объясните разницу между композицией и агрегацией.
- Что такое декораторы
@property,@classmethodи@staticmethod? - Что такое миксины? Для чего они используются?
- Что такое метаклассы? Приведите пример использования.
- Как правильно обрабатывать исключения в Python? Почему не следует ловить
BaseException? - Как создать иерархию кастомных исключений? Приведите пример.
- Что такое Repository Pattern? Какие преимущества он даёт?
- Что такое Service Layer Pattern? Какую роль он играет в архитектуре?
- Что такое Dependency Injection? Какие способы внедрения зависимостей существуют?
- В чём разница между MVC, MVP и MVVM?
- Что такое MRO (Method Resolution Order)? Как работает C3-линеаризация?
- Что такое протоколы в Python? Как они связаны с утиной типизацией?
- Что такое контекстные менеджеры? Как их создать?
- Объясните принципы SOLID. Как они применяются в ООП?