Что такое класс?
Какие основные типы данных в C++?
Что такое инкапсуляция? Как она реализуется в C++?
Какие есть встроенные типы в С++?
Что такое enum?
Как соотносится класс и объект?
Какая разница между структурой и классом?
В чем разница между private / protected / public и где они используются?
Какие методы класса являются стандартными для класса?
Что такое абстрактный класс и зачем он нужен?
Сколько занимает памяти объект пустой класс class A{}; ?
Что станет с функцией, если к ней добавить ключевое слово static? В контексте члена класса? В контексте метода класса?
Какие особенности статических полей класса?
В чем особенность константных методов-членов класса?
Как изменить поле класса в константном методе класса?
Какие методы можно вызвать из константных объектов?
Что такое куча и стек? Различия, принцип работы.
В чем разница между указателем и ссылкой?
Для чего нужен указатель на функцию? Как его объявить?
Что будет, если забыть вызвать delete? Когда освободится та память?
Что такое умный указатель? Какие умные указатели есть в стандартной библиотеке?
Как работает std::unique_ptr?
Как работает std::shared_ptr?
Расскажите о константности переменной, ссылки, указателя. Что такое константный указатель и указатель на константу? Размер указателя в памяти?
Расскажите о передаче аргументов по значению, ссылке и указателю.
Расскажите о порядке вычисления аргументов функции.
Что случится, если вернуть ссылку на временный объект?
Что такое перегрузка функции? Виды перегрузки.
Что такое явное и неявное приведение типов в С++? Расскажите о функциях явного приведения типов в C++.
Что такое инициализация переменной в if?
Что такое ленивые вычисления в С++?
Расскажите о циклах for и range-for.
Что делает ключевое слово auto? auto-определение return-типа, аргументов функции?
Чем отличаются delete и delete[]? Что случится, если вызвать delete у объекта, созданного через new[]?
Обработка ошибок в С++. Какие конструкции используют при обработке exception?
Можно ли выбрасывать exception из конструктора? Какие поля будут сконструированы, какие поля будут разрушены?
Что такое memory leak?
Можно ли выбрасывать exception с деструктора?
Как отловить деление на 0 в С++?
Как работают константные методы?
Что такое лямбда-функция в С++? Как получить доступ к переменным во внешней области видимости?
Для чего использовать namespace, anonymous namespace?
Как вызвать объект с nested namespace?
Как работают inline-функции? Может ли такая функция быть рекурсивной?
Что такое полиморфизм?
Для чего используется наследование?
Какие бывают типы наследования?
Для чего используют виртуальное наследование?
Как можно решить проблему ромбовидного наследования без использования виртуального наследования?
Что случится, если класс-наследник передать по значению в функцию, которая принимает базовый класс?
Что случится, если унаследоваться от базового класса, не имеющего виртуального конструктора?
Что случится, если вызвать переопределенную virtual function из конструктора? Может конструктор быть виртуальным?
Может ли иметь имплементацию pure virtual function? Что случится, если вызвать pure virtual function из конструктора?
Какие методы генерируются для класса по умолчанию? В каком случае такие методы не будут генерироваться? Как заставить компилятор добавить / удалить эти методы?
Как запретить наследовать класс?
Каков порядок конструирования и разрушения классов в иерархии? Порядок инициализации полей класса?
Какие есть способы инициализации полей класса?
Может ли деструктор быть виртуальным?
Что делает ключевое слово virtual?
Для чего используют виртуальный деструктор?
Что такое глубокое копирование?
Что такое виртуальные функции и зачем они нужны?
Как защитить объект от копирования?
Что такое семантика перемещения?