Перейти к содержимому

Вопросы к экзамену 1 по ООП (Python)

Только вопросы для самопроверки — без ответов. Ответы см. в private_exam_answers_1.md, практические задачи — в private_exam_tasks_1.md, билеты — в private_exam_tickets_1.md.

Экзамен 1 охватывает базовый и продвинутый ООП (лекции разделов 1–2).


  1. Что такое класс и объект в ООП? В чём разница между ними?
  2. Объясните принцип инкапсуляции в Python. Как она реализуется?
  3. Что такое наследование? Как работает множественное наследование в Python?
  4. Что такое полиморфизм? Как он реализуется в Python?
  5. В чём разница между __str__ и __repr__?
  6. Что такое абстрактные классы? Как они реализуются в Python?
  7. Объясните разницу между композицией и агрегацией.
  8. Что такое декораторы @property, @classmethod и @staticmethod?
  9. Что такое миксины? Для чего они используются?
  10. Что такое метаклассы? Приведите пример использования.
  11. Как правильно обрабатывать исключения в Python? Почему не следует ловить BaseException?
  12. Как создать иерархию кастомных исключений? Приведите пример.
  13. Что такое Repository Pattern? Какие преимущества он даёт?
  14. Что такое Service Layer Pattern? Какую роль он играет в архитектуре?
  15. Что такое Dependency Injection? Какие способы внедрения зависимостей существуют?
  16. В чём разница между MVC, MVP и MVVM?
  17. Что такое MRO (Method Resolution Order)? Как работает C3-линеаризация?
  18. Что такое протоколы в Python? Как они связаны с утиной типизацией?
  19. Что такое контекстные менеджеры? Как их создать?
  20. Объясните принципы SOLID. Как они применяются в ООП?