总体感觉这次比上次腾讯的面试好了很多。
1.介绍一下的情况。包括科研与项目经历
2.详细说一下在智能电网方面的研究。
3.你这一块提到一个贪心算法,具体是怎么做的呢?
4.C++11相对于C++有哪些新特性,当我说完了那些东西以后,面试官问了我智能指针是怎么实现的?
5.C++虚函数以及多态的概念
6.线程的概念
7.多线程编程有哪些注意事项
8.线程之间有哪些通信方式,当我说到future的时候,问了我future的实现原理。
9.问了我,如何在一个数组之中,找到第k大的值。
我将问题引向了如何在一个很大的数组中,找到前k个值,我主张用堆实现
然后他问了我,堆的组织,复杂度。
然后在回到就是一个数组,怎么找到第k大的数
我想了下说快排。
最后他提示我用改进的快排。
不需要对所有排序,只需要确定了找到的数的位置的时候,对另一边排序。
10.问了我数据结构
关于map是怎么实现的。
我说map使用红黑树实现的,然后他问了我关于红黑树与AVL树的对比,问我为什么要用红黑树而不是AVL树实现map。
11.问了我关于两个链表相交的问题
如何确定两个链表是否相交。可以采用判断尾节点是否为同一个节点来判断。
当两个链表相交以后,如何找到他们的最初的交点。
我想了一个将一个链表的所有点,放入set,然后遍历另一个表的节点,看是否在该集合中。
12.问了我实习时间的问题。