大众点评面试一面问题罗列
昨天跑去大众点评面试了,因为和面试官说自己比较擅长C++,所以基本上问的全是C++的东东,罗列如下,希望能给大家个借鉴:
- 引用和指针的区别是什么?
- 什么时候可能出现内存泄露?
- 复制函数有哪些?分别在什么时候被调用?(复制构造函数和赋值操作符函数)
- 如果让你设计一个智能指针类,你会怎么设计,应该包含哪些功能?
- C++的容器有哪些?对于放入容器的类有哪些要求(或者说他们应该具有哪些成员函数)?
- 一个乱序数组中找到数组排序后的中间位置的那个数,怎么做?(我说了两种,排序和快排中的partition)要求用代码实现。。
- 线程的同步是如何实现的?
- 类比于线程池,你觉得对象池是什么?有什么好处?
- 请设计一个Cache,实现getElement和putElement两个方法,要求:当Cache空间满时,淘汰最久不用的元素;命中一个元素后,应该将该元素变成最近使用的元素;尽可能高效。(不要求写代码,只说思路和内部的数据结构)