腾讯全民K歌面经
不会的面试题
1.如何判断线程是否死锁?
(67条消息) C++如何判断一个程序是 死锁 还是 死循环,如何进行问题定位与分析_c++ 死循环_LearnLHC的博客-CSDN博客
(67条消息) 一个简单有效的即时检测线程死锁的方法(附c++源代码)(原创)_c++ 死锁检测_liaozhilong88的博客-CSDN博客
2.筛选出分数最大的10人
几千万个数中找出最大的十个数,求算法大神讲下方法 应该是一道面试题,麻烦讲下大概思路_百度知道 (baidu.com)
3.大根堆如何维护
(67条消息) 小根堆创建,插入,删除,排序等操作图解_你今天真好看+1的博客-CSDN博客
4.双核双线程能开多少个线程
多核CPU开多少线程效率最高? - 知乎 (zhihu.com)
4-8个
5.c++类的结构
C++ 类的内存结构 - sinpo828 - 博客园 (cnblogs.com)
6.为什么构造函数不能是虚函数
虚函数对应一个虚指针,虚指针其实是存储在对象的内存空间的。如果构造函数是虚函数,就需要通过虚函数表中对应的虚函数指针(编译期间生成属于类)来调用,可对象目前还没有实例化,也即是还没有内存空间,何来的虚指针,所以构造函数不能是虚函数;
虚函数的作用在于通过父类的指针或者引用来调用它的成员函数的时候,能够根据动态类型来调用子类相应的成员函数。而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,所以构造函数不能是虚函数;