Инструменты пользователя

Инструменты сайта


ооп

Вопросы и ответы при собеседовании по теме ООП (Объектно-ориентированное программирование)

Вопросы

  • Что такое ООП?
  • Что такое класс?
  • Что такое объект?
  • Что такое иерархия классов?
  • Что такое абстрактный класс и абстрактный метод?
  • Что такое статический метод? Является ли класс из статических методов только классом ООП?
  • Каковы особенности каждого из основных типов отношений между классами: состав, агрегирование, наследование, ассоциация (composition, aggregation, inheritance, association)?
  • Чем композиция отличается от наследования?
  • Что такое полиморфизм (polymorphism)? Для чего его используют?
  • Что такое инкапсуляция (encapsulation)? Какие проблемы решаются с его помощью?
  • В каком состоянии программа (state of the program)? Как это влияет на программу?
  • Какие бывают побочные эффекты?
    1. Придется ли мне иметь дело с побочными эффектами при проектировании в парадигме ООП?
    2. Мутации - это побочный эффект?
  • Каковы принципы SOLID? Что означает каждая буква аббревиатуры?
  • Что такое идентичность (identity)? Чем отличается от инстанса (instance)?
  • Как идентичность реализуется через ссылки на значения в памяти?
  • Что такое динамический и статический полиморфизмы в контексте ООП?
  • Как полиморфизм и интерфейсы позволяют реализовать инверсию зависимостей?
  • Как можно расширить функциональность класса?
  • Каковы проблемы использования наследования?
  • Что такое делегирование?
  • Почему класс определяет поведение, а не свойство? А как насчет инкапсуляции?
  • Почему использование простых старых объектов javascript не соответствует принципу «все является объектом»?

Книги

Ссылки

ооп.txt · Последнее изменение: 2020/09/04 15:08 — oleg