This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:object_oriented_programming:questions [2018/04/16 07:27] 127.0.0.1 external edit |
courses:object_oriented_programming:questions [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 6: | Line 6: | ||
- Язык С++ считается низкоуровневым или высокоуровневым? | - Язык С++ считается низкоуровневым или высокоуровневым? | ||
- Что такое ООП? | - Что такое ООП? | ||
- | - Что подразумевает абстракция в ООП? | + | - Что подразумевает абстракция с точки зрения ООП? |
- Что такое инкапсуляция? | - Что такое инкапсуляция? | ||
- Что такое наследование? | - Что такое наследование? | ||
Line 13: | Line 13: | ||
- В чем отличие компилируемых и интерпретируемых языков программирования? | - В чем отличие компилируемых и интерпретируемых языков программирования? | ||
- Что такое статическая и динамическая типизация? | - Что такое статическая и динамическая типизация? | ||
- | - Что является единицей трансляции в С++? | + | - Что такое слабая и сильная типизация? |
- Для чего и на какие файлы производится разбиение программы на С++? | - Для чего и на какие файлы производится разбиение программы на С++? | ||
- Что такое union в C++, когда оно может быть применимо? | - Что такое union в C++, когда оно может быть применимо? | ||
Line 21: | Line 21: | ||
- Какие способы группировки данных в С++ вам известны? | - Какие способы группировки данных в С++ вам известны? | ||
- Для чего предназначены структуры? | - Для чего предназначены структуры? | ||
- | - Где может быть определена структура? | + | - Где может быть определена структура или класс? |
- Допустимо ли использование указателей/ссылок/массивов структур? | - Допустимо ли использование указателей/ссылок/массивов структур? | ||
- Какие существуют способы передачи параметров в функцию? | - Какие существуют способы передачи параметров в функцию? | ||
Line 50: | Line 50: | ||
- Как осуществляется работа с динамической памятью в С/С++? | - Как осуществляется работа с динамической памятью в С/С++? | ||
- В чем различие delete и delete[]? | - В чем различие delete и delete[]? | ||
- | - Как работает оператор new с размещением? | ||
- Что подразумевается под идиомой RAII? | - Что подразумевается под идиомой RAII? | ||
- Перечислите основные подходы к обработке ошибок. | - Перечислите основные подходы к обработке ошибок. | ||
Line 64: | Line 63: | ||
- Что такое exception-safe операция? | - Что такое exception-safe операция? | ||
- Что такое делегирующие конструкторы? | - Что такое делегирующие конструкторы? | ||
- | - Какого уровня гарантии предоставляются библиотечными функциями? | + | - Что вы можете сказать о генерации исключений в конструкторе/деструкторе? |
- | - Что вы можете сказать о генерации исключений в конструторе/деструкторе? | + | |
- | - Какие стандартные классы исключений вам известны, для чего они предназначены? | + | |
- Что такое ассоциация? | - Что такое ассоциация? | ||
- Что такое композиция и агрегация, чем они отличаются? | - Что такое композиция и агрегация, чем они отличаются? | ||
- | - Время жизни агрегируемого объекта меньше времени жизни агрегата? | + | - Время жизни агрегируемого объекта меньше времени жизни агрегата? |
- Какие классы называются дружественными, для каких целей используется это отношение? | - Какие классы называются дружественными, для каких целей используется это отношение? | ||
- В каком случае можно говорить об отношение «реализация»? | - В каком случае можно говорить об отношение «реализация»? | ||
- | - Что из себя представляет объект дочернего класса в памяти? | + | - Как представлены объекты в памяти при использовании механизма наследования? |
- Какие существуют типы наследования, чем они различаются? | - Какие существуют типы наследования, чем они различаются? | ||
- Наследуются ли конструкторы и деструкторы? | - Наследуются ли конструкторы и деструкторы? | ||
Line 94: | Line 91: | ||
- Что такое ромбовидное наследование? | - Что такое ромбовидное наследование? | ||
- Какой существует механизм разрешения проблемы ромбовидного наследования в С++? | - Какой существует механизм разрешения проблемы ромбовидного наследования в С++? | ||
- | - Для чего используется оператор разрешения контекста? | + | - Как реализовано приведение типов в Си? |
- | - Как реализовано приведение типов в С? | + | |
- Что такое статическое приведение типов? | - Что такое статическое приведение типов? | ||
- Что такое динамическое приведение типов? | - Что такое динамическое приведение типов? | ||
- Что такое константное приведение типов? | - Что такое константное приведение типов? | ||
- Что такое интерпретирующее преобразование типов? | - Что такое интерпретирующее преобразование типов? | ||
- | - Как работает преобразование в С-стиле на языке С++? | + | - Как работает преобразование в Си-стиле на языке С++? |
- | - Для чего предназначен механизм RTTI, как его использовать? | + | |
- Что такое умные указатели? | - Что такое умные указатели? | ||
- Опишите принцип работы boost::scoped_ptr. | - Опишите принцип работы boost::scoped_ptr. | ||
Line 116: | Line 111: | ||
- Наследует ли производный класс перегруженные операторы? | - Наследует ли производный класс перегруженные операторы? | ||
- Как защитить объект от копирования? | - Как защитить объект от копирования? | ||
+ | - Для чего предназначен механизм RTTI, как его использовать? | ||
- Что такое шаблоны классов? | - Что такое шаблоны классов? | ||
- Что такое шаблоны функций? | - Что такое шаблоны функций? | ||
- Как осуществляется вывод аргументов шаблона? | - Как осуществляется вывод аргументов шаблона? | ||
- Что такое специализация шаблонов? | - Что такое специализация шаблонов? | ||
- | - Назовите хотя бы один пример возникновения undefined behavior. | ||
- Что такое шаблон проектирования? | - Что такое шаблон проектирования? | ||
- | - Какие группы паттернов описаны в книге «Design patterns» GoF? | + | |
+ Вопросы по каждому из 23 шаблонов проектирования: название, область применения, решаемая задача, uml-диаграмма (можно не точную), достоинства и недостатки. | + Вопросы по каждому из 23 шаблонов проектирования: название, область применения, решаемая задача, uml-диаграмма (можно не точную), достоинства и недостатки. | ||