272 просмотра
От 29 января

Вопросы для собеседования C++ разработчика

1. Какой код выполняется до main?

Конструкторы глобальных объектов.

2. Как вызвать функцию C в коде C++?

Это возможно, если использовать extern «C»: //C code void func(int i) { //code } void print(int i) { //code } //C++ code extern "C"{ void func(int i); void print(int i); } void myfunc(int i) { func(i); print(i); }

3. Что такое указатель?

Указатель — это переменная, которая хранит адрес памяти объекта. Указатели широко используются в C и C++ для трех основных целей: 1. Для выделения новых объектов в куче, 2. Для передачи функций другим функциям 3. Для итерации элементов в массивах или других структурах данных.

4. Раскажите про ключевое слово const

1. Позволяет задать константность объекта 2. Позволяет задать константность указателя 3. Позволяет указать, что данный метод не модифицирует члены класса, т.е. сохраняет состояние объекта Не можем изменить значение объекта: const int i = 1; i = 2; // error C3892: 'i' : you cannot assign to a variable that is const Не можем изменить указатель на объект: int i = 1; int* const j(&i); int k = 2; *j = k; // Ok j = &k; // error C3892: 'j' : you cannot assign to a variable that is const Не можем изменить члены класса: class Foo { private: int i; public: void func() const { i = 1; // error C3490: 'i' cannot be modified because it is being accessed through a const object } }; Дополнение: константный метод может изменять члены класса, если они объявлены как mutable.

5. Как запретить копирование объекта?

Для того, чтобы запретить копирование объекта, нужно сделать private конструктор копирования и оператор =. class NonCopyable { public: NonCopyable(){} private: NonCopyable(NonCopyable&){} private: void operator=(const NonCopyable&){} }; NonCopyable a; NonCopyable b = a; // error C2248: 'NonCopyable::NonCopyable' : cannot access private member a = b; // error C2248: 'NonCopyable::operator =' : cannot access private member

6. Зачем нужен модификатор virtual?

Поддержи проект и получи доступ ко всему контенту всего за 290

7. Что такое чисто виртуальный метод и абстрактный класс?

Поддержи проект и получи доступ ко всему контенту всего за 290

8. Что такое виртуальный деструктор?

Поддержи проект и получи доступ ко всему контенту всего за 290

9. Что такое виртуальный конструктор?

Поддержи проект и получи доступ ко всему контенту всего за 290

10. Разница между struct и class?

Поддержи проект и получи доступ ко всему контенту всего за 290

11. Разница между struct и union?

Поддержи проект и получи доступ ко всему контенту всего за 290

12. Сколько памяти занимает произвольная структура?

Поддержи проект и получи доступ ко всему контенту всего за 290

13. Различия std::array и std::vector?

Поддержи проект и получи доступ ко всему контенту всего за 290

14. В чем отличие vector от deque?

Поддержи проект и получи доступ ко всему контенту всего за 290

15. В чем отличие malloc от new?

Поддержи проект и получи доступ ко всему контенту всего за 290

16. Различия delete и delete[]?

Поддержи проект и получи доступ ко всему контенту всего за 290

17. Как добавить объект в качестве ключа в ассоциативные контейнеры?

Поддержи проект и получи доступ ко всему контенту всего за 290

18. Что дают разные модификаторы при наследовании?

Поддержи проект и получи доступ ко всему контенту всего за 290

19. Для чего используется ключевое слово volatile?

Поддержи проект и получи доступ ко всему контенту всего за 290

20. Для чего используется вызов throw без аргументов?

Поддержи проект и получи доступ ко всему контенту всего за 290

21. Как сгенерировать pure virtual function call исключение?

Поддержи проект и получи доступ ко всему контенту всего за 290

22. Какие нюансы у auto_ptr?

Поддержи проект и получи доступ ко всему контенту всего за 290

23. Бывает такое, что оператор new не выделяет память?

Поддержи проект и получи доступ ко всему контенту всего за 290

24. Когда вызывается конструктор копирования, а когда копирующий оператор присваивания?

Поддержи проект и получи доступ ко всему контенту всего за 290

25. Можно ли использовать ссылку при возвращении из функции?

Поддержи проект и получи доступ ко всему контенту всего за 290

26. Что будет выведено на экран?

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Также в этой категории

Шпаргалка
  17 вопросов

Шпаргалка по вопросам о C

Вопросы для собеседования Си-разработчика

182 просмотра
От 30 мая 2023
Задачник
  32 задачи

Топ 35 задач с собеседований по C++

Разбор решений для алгоритмических задач с собеседований по C++

457 просмотров
От 25 февраля

Вам может быть интересно

Шпаргалка
  10 вопросов

Всё о репликации баз данных

Описание понятий и процессов репликации БД

177 просмотров
От 8 октября 2023
Шпаргалка
  60 вопросов

60 вопросов про базы данных и SQL

Вопросы и ответы с собеседования по базам данных и SQL

311 просмотров
От 20 февраля
Викторина
  12 вопросов

Викторина по Python - Middle/Senior

Продвинутые вопросы для собеседования Python-разработчика

22 просмотра
От 30 мая 2023
Шпаргалка
  11 вопросов

Теория шардинга баз данных

О распределении данных между серверами

242 просмотра
От 10 октября 2023
Викторина
  20 вопросов

Викторина по Django - Junior/Middle

Базовые вопросы с собеседования по Django

15 просмотров
От 2 июня 2023
Викторина
  26 вопросов

Викторина по Python - Junior

Вопросы на собеседовании по Python для Junior-позиции

54 просмотра
От 30 мая 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
212 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
107 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
139 просмотров

Все категории