четверг, 30 июля 2015 г.

Наши вопросы по программированию на языках C/C++

Следующий блок вопросов это самые важные вопросы для кандидата на позицию C/C++ программиста. Вопросы поделены на две категории - знание совсем новых плюсов не обязательно, но крайне рекомендуется. На мой взгляд если человек работает в какой-то области и не интересуется, что в ней происходит последние лет 5, то ничего хорошего в этом нет.

C/C++

  1. Зачем нужен stdafx.h? Что в него включать? Как это работает?
  2. Зачем нужен препроцессор, компилятор, ассемблер, linker?
  3. Что такое исключения? Как они работают?
  4. Для чего используется вызов throw без аргументов?
  5. Конструктор копирования, оператор присваивания. Когда они вызываются?
  6. Операторы преобразования static_cast, const_cast, reinterpret_cast, dynamic_cast, С-cast. Назначение и примеры использования.
  7. Друзья класса. Назначение и примеры применения.
  8. Что такое множественное наследование? Как оно работает и какие может создать проблемы?
  9. Виртуальные функции. Что такое vftable, vbtable и как это работает?
  10. Зачем нужен виртуальный деструктор?
  11. Какие конструкции С++ разрешается использовать в списке инициализации качестве инициализирующих выражений?
  12. Как запретить неявное преобразование типа, выполняемое конструктором инициализации?
  13. Как защитить объект от копирования?
  14. Что предпочтительней, наследование или инкапсуляция? В каких случаях и почему?
  15. Можно ли объявлять массив объектов? А массив классов?
  16. Паттеры проектирования – Singleton, Factory, Observer, Visitor. Остальные по желанию.
  17. Контейнеры в STL. Преимущества и недостатки.
  18. Итераторы и алгоритмы в STL.
  19. Специализация шаблонных классов и функций. Назначение и примеры применения. Частичная специализация шаблонных классов.
  20. Функторы.
  21. Аллокаторы и их применение.
  22. Лямбда-выражения.
  23. Умные указатели. Зачем нужны? Что такое владение?
  24. Многопоточность и примитивы синхронизации. Типы и устройство.
  25. Многопоточность и передача сообщений.
  26. Что такое IPC?

C++14

  1. Явное замещение виртуальных функций и финальность.
  2. Шаблоны с переменным числом аргументов.
  3. Статическая диагностика.
  4. constexpr-выражения.
  5. copy- и move-семантика.

Комментариев нет:

Отправить комментарий