Программист C++ с опытом работы

Опубликовано Sep 22, 2011 в Языки программирования | Нет комментариев

,

Программист C++ с опытом работы

  1. Какого типа может быть исключение (в блоке catch ())?
  2. Влияют ли методы на размер объекта?
  3. Как объявляется «чистая» виртуальная функция?
  4. Дайте определение абстрактного класса.
  5. Для чего используются пространства имен?
  6. Объясните, в чем заключается различие между текстовым и двоичным файлом.
  7. Какие методы класса не могут быть статическими?
  8. Приведите структуру и принцип действия паттерна Singleton.
  9. Каковы особенности вызова виртуальных функций в конструкторах и деструкторах?
  10. Сколько конструкторов может быть в классе? Допускается ли перегрузка конструкторов? Какие виды конструкторов создаются по умолчанию?
  11. Что является единицей памяти в С++? Какие требования к размеру единицы памяти прописаны в стандарте С++?
  12. В каких единицах выдает результат операция sizeof? Какие типы данных имеют размер 1?
  13. Какие функции выделяют память, и с помощью каких функций память освобождается?
  14. Объясните назначение ключевого слова typename.
  15. Какие способы сборки программы Вы можете назвать?
  16. Чем отличаются стандартные заголовки , и ?
  17. Может ли конструктор быть виртуальным? А деструктор?
  18. Как называется использование объекта одного класса в качестве поля другого класса?
  19. Зачем нужны константные методы? Чем отличается определение константного метода от обычного?
  20. Какой результат должны возвращать операции с присваиванием (из перегрузки операций)?
  21. Что означает выражение *this? В каких случаях оно используется?
  22. Ключевое слово mutable. Суть и варианты использования.
  23. Может ли конструктор быть приватным? Какие последствия влечет за собой объявление конструктора приватным?
  24. Влияет ли наличие целочисленных констант-полей на размер класса?
  25. Что такое выравнивание и от чего оно зависит? Влияет ли выравнивание на размер класса?
  26. Дайте определение итератора STL.
  27. Можно ли реализовать последовательный доступ без итератора? В чем преимущества реализации последовательного доступа с помощью итератора?
  28. Что такое деструктор? Может ли деструктор иметь параметры?
  29. Чем отличается копирование от присваивания?
  30. Объясните, почему в операции присваивания требуется проверка присваивания самому себе?
  31. Дайте определение вложенного класса.
  32. Чем открытое наследование отличается от закрытого и защищенного?
  33. Каков порядок вызова конструкторов? А деструкторов?
  34. Что происходит, если имя метода-наследника совпадает с именем базового метода?
  35. Что такое связывание (при вызове виртуальных функций)? Чем «раннее» связывание отличается от «позднего»?
  36. Какой интеллектуальный указатель реализован в стандартной библиотеке STL, и какую стратегию владения он реализует?
  37. Объясните, в чем преимущества и недостатки интеллектуальных указателей со счетчиком ссылок.
  38. Каким образом объявить указатель на метод?
  39. Объясните разницу между указателем на функцию и указателем на метод.
  40. Объясните, чем отличается множественное наследование от простого?
  41. Перечислите все последовательные контейнеры стандартной библиотеки. Чем они отличаются друг от друга?
  42. Каким требованиям должны удовлетворять элементы контейнера?
  43. Чем контейнер map отличается от контейнера multimap?
  44. Чем отличается битовый вектор bitset от битового вектора vector?
  45. Чем константный итератор отличается от неконстантного?
  46. Какие средства С++ составляют RTTI?
  47. Можно ли реализовать собственный обработчик new и «прицепить» его к механизму new/delete?
  48. Объясните, по каким причинам трудно написать универсальный контейнер, элементы которого могут иметь произвольный тип.

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

Ваш адрес email не будет опубликован.


*