百度C++开发岗三面面经(已offer)
一面:
除了手撕题记全,一些基础问答题给忘了。。。
1.什么是三大范式?
2.什么是内存泄漏,产生的原因?
3.手撕:反转链表
先叫我讲思路,讲了非递归的。面试官表示认可之后,要我写递归版的,顺利写好
4.手撕:数组右移K位? 要求空间复杂度O(1),时间复杂度O(n)
5.编程题:一个数组,求和为M的数据对,要求把所有结果返回
我讲了思路,面试官表示认可后,就不用我写了
6.手撕:判断一个字符串是否是IP地址?
我写完后,面试官说有一些小错误。我看不出,面试官提醒了一些测试用例,修改两次后顺利完成
二面:
1.虚函数(一直往下深问底层)
2.手撕代码:数组长度为N,数据是1-N,判断是否有重复数据? 要求时间复杂度O(n),空间复杂度O(1)
(剑指原题,但注意数据是1-N,数组下标是0-N-1,所以写的过程对应下标需要稍微转换)
3.海量数据,怎么统计出字符串出现的个数?(假设1000G数据,只有4G内存大小)
简单聊了会天,结束二面
三面:全程聊天、聊人生,如问一些学习、实习、比赛上的经历等