码迷,mamicode.com
首页 > 编程语言 > 详细

面试 C++ 程序员,什么样的问题是好问题?

时间:2015-01-15 22:09:09      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

原文链接:

《陈硕大神在知乎的回答》


对于应届生:

  • 标准库各容器的基本操作的复杂度。标准库算法的复杂度,例如 std::sort() 的平均复杂度、最坏复杂度(答 O(N^2) 和 O(N log N) 都算对),最坏情况什么时候出现。
  • 标准库各容器(deque 除外)的数据结构(标准党勿喷,主流 STL 实现的数据结构都差不多),以及 vector 的容量增长方式。如果回答得特别好,还可以补充问为什么 vector::push_back() 的复杂度是分摊之后的 O(1),作为加分。
  • 出一道使用 lower_bound / upper_bound 能轻松解决的简单算法题;或者实现 set_intersection() 或 set_union() 或 merge();或者实现 word count,统计每个单词出现的次数(最多十几行代码),如果有时间,输出时再按出现次数排序。
对于社招,补充问:
  • 迭代器失效。(不要求记住所有的场景,但要有这个概念,其实知道数据结构的话不难推理。)
  • 标准库的线程安全性。
  • 自动化对象生命期管理,智能指针,循环引用,weak_ptr。
  • list 的 insert()/erase() 与 vector 相比哪个快。(这个不是那么简单。)

注:以上内容摘自知乎,更多内容请查看知乎讨论。

面试 C++ 程序员,什么样的问题是好问题?

标签:

原文地址:http://blog.csdn.net/fish43237/article/details/42747575

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!