一面 (2020-07-17 70min)
1.什么是内存对齐,为什么需要内存对齐
2.C++中哪些函数不能是虚函数,友元函数可不可以是虚函数
3.析构函数
4.TCP拥塞控制
5.什么是动态规划/什么是回溯
6.100亿个数,最大的1000个,说说复杂度
7.死锁,如何预防死锁
编程题:
-
回文子串个数 中心枚举,或者dp
-
leetcode216(回溯) 组合总和(回溯搜索)
-
公共字符:比如 label , llabe , wolley 输出 l,l,e(这个顺序不重要,只要个数对就行)
二面(2020-07-22 50min)
1.为什么有了malloc/free还需要new/delete
2.什么情况会产生内存泄漏,举例子
3.动态链接/静态链接
4.内存的分区/内存区的顺序
5.进程与线程的区别
6.进程的通信方式
7.线程的通信方式
9.僵尸进程和孤儿进程
10.僵尸进程太多了有什么危害
11.面向对象vs面向过程
12.面向对象特性
13.虚函数/虚函数原理/虚函数指针
14.extern C
15.什么情况会导致内存泄漏
16.线程的状态
编程题:
1.twoSum(说三种方法,实现一种方法)
2.合并链表的