User Tools

Site Tools


courses:object_oriented_programming:questions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

courses:object_oriented_programming:questions [2017/06/04 12:26]
nplohoy created
courses:object_oriented_programming:questions [2022/12/10 09:08]
Line 1: Line 1:
-====== Список вопросов ====== 
-  - Что такое парадигма программирования?​ 
-  - Что такое идиома программирования?​ 
-  - Какую парадигму реализует язык С? 
-  - Какую парадигму реализует язык С++? 
-  - Язык С++ считается низкоуровневым или высокоуровневым?​ 
-  - Что такое ООП? 
-  - Что подразумевает абстракция в ООП? 
-  - Что такое инкапсуляция?​ 
-  - Что такое наследование?​ 
-  - Что такое полиморфизм?​ 
-  - Какие существуют виды полиморфизма?​ 
-  - В чем отличие компилируемых и интерпретируемых языков программирования?​ 
-  - Что такое статическая и динамическая типизация?​ 
-  - Что является единицей трансляции в С++? 
-  - Для чего и на какие файлы производится разбиение программы на С++? 
-  - Что такое union в C++, когда оно может быть применимо?​ 
-  - Опишите процесс преобразования исходного кода в исполняемый файл. 
-  - В чем отличие ссылки от указателя?​ 
-  - Что такое указатель на функцию и как он может быть использован?​ 
-  - Какие способы группировки данных в С++ вам известны?​ 
-  - Для чего предназначены структуры?​ 
-  - Где может быть определена структура?​ 
-  - Допустимо ли использование указателей/​ссылок/​массивов структур?​ 
-  - Какие существуют способы передачи параметров в функцию?​ 
-  - Для чего предназначены классы,​ в чем их отличие от структур?​ 
-  - Что такое инвариант класса?​ 
-  - В чем отличие функций от методов?​ 
-  - В каких случаях используются значения по умолчанию в функциях?​ 
-  - Что такое публичный интерфейс?​ 
-  - Какие существуют модификаторы доступа,​ для чего они используются?​ 
-  - Что такое геттеры и сеттеры?​ 
-  - Что такое inline-функции?​ 
-  - Где применяется неявный указатель this? 
-  - Для чего используется ключевое слово const? 
-  - Что такое константные ссылки/​указатели,​ указатели/​ссылки на константу?​ 
-  - В чем отличие синтаксической и логической константности методов?​ 
-  - Для чего используется ключевое слово mutable? 
-  - Что такое конструктор?​ 
-  - В каких случаях используется перегрузка конструкторов?​ 
-  - Какую цель может преследовать создание приватного конструктора?​ 
-  - Каким образом и в какой последовательности происходит инициализация полей объекта?​ 
-  - Для чего используется ключевое слово explicit? 
-  - В чем заключается предназначение конструктора по умолчанию?​ 
-  - Что такое деструктор,​ для чего он используется?​ 
-  - Каков порядок вызова деструкторов при разрушении объекта?​ 
-  - В какой момент вызывается деструктор объекта?​ 
-  - Каково время жизни объекта?​ 
-  - Зачем нужен виртуальный деструктор?​ 
-  - Как осуществляется работа с динамической памятью в С/С++? 
-  - В чем различие delete и delete[]? 
-  - Как работает оператор new с размещением?​ 
-  - Что подразумевается под идиомой RAII? 
-  - Перечислите основные подходы к обработке ошибок. 
-  - Для чего предназначен механизм обработки исключительных ситуаций?​ 
-  - Что такое исключение?​ 
-  - Какие типы данных допустимы для использования в качестве объектов exception? 
-  - Как происходит возбуждение исключения?​ 
-  - Кто отвечает за обработку возникших исключительных ситуаций?​ 
-  - Что такое раскрутка стека? 
-  - Где и для чего используется спецификатор throw? 
-  - Где и для чего используется спецификатор noexcept? 
-  - К чему приводит вызов throw без аргументов?​ 
-  - Что такое exception-safe операция?​ 
-  - Что такое делегирующие конструкторы?​ 
-  - Какого уровня гарантии предоставляются библиотечными функциями?​ 
-  - Что вы можете сказать о генерации исключений в конструторе/​деструкторе?​ 
-  - Какие стандартные классы исключений вам известны,​ для чего они предназначены?​ 
-  - Что такое ассоциация?​ 
-  - Что такое композиция и агрегация,​ чем они отличаются?​ 
-  - Время жизни агрегируемого объекта меньше времени жизни агрегата? ​ 
-  - Какие классы называются дружественными,​ для каких целей используется это отношение?​ 
-  - В каком случае можно говорить об отношение «реализация»?​ 
-  - Что из себя представляет объект дочернего класса в памяти?​ 
-  - Какие существуют типы наследования,​ чем они различаются?​ 
-  - Наследуются ли конструкторы и деструкторы?​ 
-  - Наследуются ли приватные поля базового класса?​ 
-  - Что такое виртуальная функция?​ 
-  - Как осуществить вызов базовой реализации функции при её переопределении в дочернем классе?​ 
-  - Как связаны виртуальные функции и полиморфизм?​ 
-  - Что такое переопределение функций?​ 
-  - Работает ли переопределение для приватных функций?​ 
-  - Что такое таблица виртуальных функций?​ 
-  - Как себя ведут виртуальные функции в конструкторе и деструкторе?​ 
-  - В каких случаях допустимо приведение указателей/​ссылок на дочерний класс к базовому?​ 
-  - Что такое чистая виртуальная функция?​ 
-  - Какой класс называется абстрактным?​ 
-  - Как в С++ реализуются интерфейсы?​ 
-  - Что такое перегрузка функций?​ 
-  - Как ведет себя перегрузка при наследовании?​ 
-  - Опишите процесс выбора функции среди перегруженных. 
-  - Чем отличаются механизмы раннего и позднего связывания?​ 
-  - Что такое множественное наследование?​ 
-  - Что такое ромбовидное наследование?​ 
-  - Какой существует механизм разрешения проблемы ромбовидного наследования в С++? 
-  - Для чего используется оператор разрешения контекста?​ 
-  - Как реализовано приведение типов в С? 
-  - Что такое статическое приведение типов? 
-  - Что такое динамическое приведение типов? 
-  - Что такое константное приведение типов? 
-  - Что такое интерпретирующее преобразование типов? 
-  - Как работает преобразование в С-стиле на языке С++? 
-  - Для чего предназначен механизм RTTI, как его использовать?​ 
-  - Что такое умные указатели?​ 
-  - Опишите принцип работы boost::​scoped_ptr. 
-  - Опишите принцип работы std::​auto_ptr. 
-  - Опишите принцип работы std::​shared_ptr. 
-  - Опишите принцип работы std::​weak_ptr. 
-  - В чем особенности работы умных указателей с массивами?​ 
-  - Какие группы операторов в С++ вам известны?​ 
-  - Что такое перегрузка операторов,​ для чего она используется?​ 
-  - Для каких типов допустима перегрузка операторов?​ 
-  - Где может быть объявлена перегрузка оператора?​ 
-  - Какие особенности у перегрузки операторов инкремента и декремента?​ 
-  - Как ведут себя операторы с особым порядком вычисления при перегрузке?​ 
-  - Наследует ли производный класс перегруженные операторы?​ 
-  - Как защитить объект от копирования?​ 
-  - Что такое шаблоны классов?​ 
-  - Что такое шаблоны функций?​ 
-  - Как осуществляется вывод аргументов шаблона?​ 
-  - Что такое специализация шаблонов?​ 
-  - Назовите хотя бы один пример возникновения undefined behavior. 
-  - Что такое шаблон проектирования?​ 
-  - Какие группы паттернов описаны в книге «Design patterns» GoF? 
-  + Вопросы по каждому из 23 шаблонов проектирования:​ название,​ область применения,​ решаемая задача,​ uml-диаграмма (можно не точную),​ достоинства и недостатки. 
  
- 
- 
-~~DISCUSSION~~ 
courses/object_oriented_programming/questions.txt · Last modified: 2022/12/10 09:08 (external edit)