应该问什么问题来测试面试候选人对C++参考文献的了解?

use*_*855 5 c++

如果一个候选人说他在C++中的知识是7/10并且你想用C++测试他的参考知识,你会问什么问题?

我想到了以下几点:

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

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

谢谢,

Has*_*yed 19

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

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

可以继续多年:D但30会做,如果你需要更多只是问:D

  • Priyank,不 - OP正在明确地提出问题. (4认同)
  • 这段代码出了什么问题,如果一只猴子和驴子要制作一只斑马鱼,其中一只会很痛苦. (4认同)
  • 问题不是给我C++面试问题,而是关于C++参考资料的最佳测试知识. (3认同)
  • 但请不要删除它,这很好:) (2认同)
  • 您可以问"在这里看到这本书吗?它被称为'C++编程语言'.请向我解释一下." (2认同)

Bri*_*ink 15

我个人不喜欢代码拼图.我宁愿让面试官只是让我解释一下参考文献,并实际参与一个关于他们(或任何主题)的对话.首先要求候选人解释C++样式引用.询问后续内容并提示您提供更多信息.


Sad*_*ido 6

好吧,有一些问题.让他解释一下:

1)参考和const参考之间的差异;

2)引用和指针之间的区别;

3)通过值/引用传递参数的优缺点;

4)将引用保留为类成员变量时的问题;

5)从函数返回引用时的问题;

生成一个代码来测试对每个问题的理解很容易,如上所列......


Ali*_*Ali 0

上述两个示例都很好,但它们不一定测试 C++。我宁愿问他一个引用成员变量是如何在类中初始化的。