记录下百度面经:
下午一场面了一个半小时,最后说的口干舌燥,感觉一场大战,不过酣畅淋漓。
1.上来直接要求写一个枚举类,里面写出星期一到周日,讲了一下枚举类的原理。
2.Static声明一个静态的类成员变量,如何进行初始化,写一下。
3.一个局部变量的生命周期是什么?将变量声明为static呢?
4.讲一下#define的含义,在编译哪个阶段完成的?
5.讲一下堆和栈的区别?栈指针知道吗?调用程序时的过程?
6.一个malloc得到的内存空间,可以用delete进行释放吗?
7.讲一下进程的内存空间分配?
8.讲一下虚函数的底层原理?构造函数和析构函数可以为析构函数吗?写一下
9.其他多态有哪些?讲一讲
10.动态编译和静态编译的区别?
11.写一个双向循环链表?写出它的插入函数和删除函数
12.说一说你会的排序?
13.快排在何种情况下复杂度最高?快排的空间复杂度是多少? (没错是空间)
14.知道sort底层用的是哪一种排序吗?讲一讲?
15.一个无序数组给出这个最长的连续递增子串?
16.仍是无序数组给出它的不连续递增子序列?
18.Vector有pop_front吗(这个题雪崩。。。我记得是有的,侯捷还讲过,GNU4.9里),push_back的复杂度是多少?
19.我如果希望存储100万个数据用list还是vector?(我问了需求,是要查找还是插入删除,他说仅仅是存储,那我选了vector,不太清楚)
20.讲一讲迭代器失效?假如是非线性容器会有问题吗?
21.Map的底层实现是什么?知道红黑二叉树吗?假如我对一个map插入两个相同的key值会怎么样?(这个题目也不太清楚,说了说multimap)
22.讲一讲你平时常用的Linux指令是什么?讲了ps、top、vmstat、iostat、tcpdump
23.那你知道awk指令码?(答知道)知道sep指令吗?
24.看到你会python,写一个python的函数我看看?python对一个字典排序怎么写?
25.正则表达式了解吗?这个正则是什么意思【^ABC】
26.RPC知道吗?
27.讲讲知道的智能指针?
28.了解操作系统吧?说说看进程和线程?他们之间的联系和区别?
29.Socket网络了解吗?说说TCP和UDP,他们之间的区别?各自适合什么业务?
30.说说为啥要三次握手?
很多都是老问题了,感觉我也在努力回答,很多他会追问?问的很细致。全程面试官基本不和我过多交流,仅仅是他问,我答,然后他说句嗯之类的,我甚至没有自我介绍直接进入主题,全程也在写写画画和coding。。虽然是远程面试。。有很多答的不好,估计要跪。。