百度暑期实习 一二三面

面试岗位:C++研发
面了一天,只记得一部分啦,所以可能不是很全...

上午10点
一面(40分钟):
1、说说自己的项目以及对应的性能优化,线程池的线程个数考虑,服务器QPS
2、C++的强制类型转换(static_cast, dynamic_cast, reinterpret_cast, const_cast)
3、C++多态的实现
4、虚拟内存空间分布?(stack, heap,.bss, 数据段, code段等)
5、TCP/IP四层模型与ISO七层模型
6、HTTP的状态码有哪些?
7、应用层协议有哪些?
8、Nginx源码看过吗?它的http_module有哪些处理?它的多进程模型
9、手写一个脚本,求xxx.txt第二列的平均值(用awk): cat xxx.txt   |awk '{sum+=$1}END{print "Average = ", sum/NR}'
(我只写了大概,awk大概框架写出来就行)

算法题:
层序遍历(Leetcode102)

上午11点
二面(40分钟)
1、说说自己的项目
2、STL容器都是线程安全的吗?
3、vector扩容机制?emplace_back机制?
4、unordered_map的哈希表处理冲突的方式?(还有哈希冲突还有哪些其他的方式)
5、左值引用与右值引用的含义与区别?
6、移动构造与move的关系?
7、C++的构造函数和析构函数是否可以为虚函数?
8、静态数组和动态数组的区别?
9、TCP和UDP的区别,以及TCP为了可靠性传输做的事情,UDP的报头。

算法题:
合并有序链表(非递归+递归)

上午12点
三面(40分钟):
一道场景题:
作为服务端,面对一个内存占用很大(50GB)的字典(key value),如何在不影响主线程正常接受请求的情况下,以较低的复杂度进行更新字典与查找字典?并且要保证子线程能够很低的复杂度将修改的key-value传给主线程,
其中涉及到同步,互斥的相关问题;并且如何实现数据修改的一致性,即:如果是主线程查找某一key的过程中,这个key发生了修改,主线程能够得到最新的value,而不是一个老的value。

这题前前后后聊了40多分钟,感觉涉及到的技术点很多,而且比较灵活,自己回答的也不是很全面,后面还需要总结归纳一下,多考虑这种高并发下内存占用很大的场景。







#春招##实习##面经#
全部评论
好难
1 回复 分享
发布于 2022-04-11 20:03
三面的场景题,类似于 Redis 里面的渐进式 rehash 过程,楼主可以参考一下
1 回复 分享
发布于 2022-04-11 01:39
我是面试官自己出的题,有被恶心到,麻了
1 回复 分享
发布于 2022-04-10 19:28
楼主收到offer了吗?我三面面完一直是面试中状态,不知道咋回事
点赞 回复 分享
发布于 2022-04-30 10:55
楼主请问一下现在官网是什么状态呢
点赞 回复 分享
发布于 2022-04-11 14:14

相关推荐

评论
5
51
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务