c++ - 应该问什么问题来测试面试候选人对 C++ 引用资料的了解?

标签 c++

<分区>

如果应聘者说他的 C++ 知识是 7/10,而你想测试他对 C++ 引用资料的了解,你会问什么问题?

我想到了以下几点:

  1. 写一个函数声明,以指针为引用,有默认值,请他找出错误并解释。
  2. 将文字作为参数传递给以该参数作为引用的函数。

还有其他问题可以更好地测试候选人对 C++ 引用文献的整体知识吗?

谢谢,

最佳答案

在我的书中,7/10 意味着非常有能力。 9/10 表示可以针对 C++ 或模板元编程进行生成编程的人,10 是编写可移植库的人。我不相信技巧问题——只相信广泛的知识。所以,这是我要问的问题。

  1. 异常安全的代码是什么意思。
  2. is-a 关系和 has-a 关系之间的区别和陷阱是什么。
  3. 如果数组条目是多态的,为什么要使用指针。
  4. std::vector 和 std::deque 有什么区别。
  5. std::map 有什么用?
  6. 什么是 RAII 或者您使用什么策略来防止资源泄漏。
  7. 为什么要声明一个析构函数 virtual ?
  8. 提供部分模板特化是什么意思?
  9. 什么是仿函数?
  10. mutable 关键字的作用是什么?对于在签名末尾使用 const 声明的函数意味着什么。
  11. 为什么要覆盖编译器生成的函数。
  12. 在 STL 词汇表中将变量绑定(bind)到函数是什么意思。
  13. 为什么在 C 函数上使用 std::string 是个好主意。
  14. 您是否知道任何优秀的 C++ 库,它们有什么特别之处?
  15. 您使用什么策略来确保代码可移植。
  16. 作为应用程序程序员,您*可以使用模板做什么?
  17. C++ STL 容器是否会造成性能瓶颈,请举个例子。
  18. 您是否可以想到需要自定义内存分配的特定场景。
  19. 什么是智能指针,它们智能吗?
  20. 什么是 pimpl 习惯用法/编译器防火墙,或者您如何确保跨依赖项的编译时间短。
  21. 为什么析构函数的异常是坏的?你能想出办法解决这个问题吗?
  22. 什么是堆分配,什么是栈分配……calloc 是邪恶的吗?
  23. 什么是循环依赖,您能告诉我一种或多种使 C++ 编程复杂化的方式吗。
  24. 什么是 RTTI?
  25. 您能想到任何能让您的生活更轻松的运行时机制(例如,异常机制)吗?
  26. Java 和 C# 被认为是令人惊叹的语言。什么项目应该用 C++ 编写?
  27. 你对多重继承有什么看法?
  28. 你能想出使用预处理器的理由吗?
  29. 将变量声明为 const 有什么好处?
  30. 您使用什么工具进行开发?

可以持续很长时间 :D 但 30 岁就可以了,如果你需要更多就问 :D

关于c++ - 应该问什么问题来测试面试候选人对 C++ 引用资料的了解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834245/

相关文章:

android - C++ 运算符 new 和 new[] 会在 Android 上抛出 std::bad_alloc 吗?

c++ - 从基类调用虚函数

c++ - 下面的OpenCV源码有没有错误? (没有#else 的#ifdef)

c++ - 是否有任何基于文本的进度条实现?

C++多继承构造函数调用

c++ - C 头文件 (.h) 和 C++ 头文件 (.hpp) 有什么区别?

C++/语法/寻址成员函数

c++ - 查找整数数组中的一对元素,使得 abs(v[i]-v[j]) 最小化

c++ - Boost::Python- 可以从 dict 自动转换 --> std::map?

java - Java、C++、Python 中的异常模型