百度-搜索在线架构-实习面经(库存)
一面
C++:
- 介绍一下多态
- 虚函数实现原理、优点、缺点(效率和内存)
gdb:
- 用 gdb 调试过的最复杂的项目、如何调试、用到了哪些指令
- 如何处理堆栈中某些函数乱码
- 如何观察堆栈中某些函数的某个变量的值是多少
Kafka:
- 介绍一下 Kafka 持久化
- Kafka 是基于内存还是磁盘(磁盘)
- 为什么 Kafka 基于磁盘性能反而更好
- 了解 Kafka 吞吐量是多少吗
Network:
- 建立一个 TCP 连接需要消耗哪些系统资源
- 了解 TCP 缓冲区多大吗(一般为几 KB 到几 MB 之间)
OS:
- 为什么 CPU 要绑在特定的核上(Linux 自己调度不可以吗)
- 了解 CPU 多级缓存吗
- 为什么缓存序号越小速度越快
perf:
- perf 底层原理
- perf 火焰图中有些函数找不到是什么原因
LeetCode:
- 将一个 64 位的整数第 m~n 位置为 0(不允许使用循环)
Expand:
- 虚函数表指针占用几个字节(32 位下占用 4 个字节)
- 如何用 gdb 调试多线程服务
二面
OS:
- 堆和栈的区别、优点、缺点(性能角度)
- 产生死锁的四个必要条件(互斥、占有并等待、非抢占、循环等待)
gRPC:
- 介绍一下 protobuf 以及其他竞品
LeetCode:
- 环形链表(No. 141)并证明有效性
- 打家劫舍 II(No. 213)
- 多个有序数组求交集(搜索场景:数据量大且稠密程度不同)
Distributed:
- 一致性哈希算法(场景题)
说明
当时面完八月份就去实习了,组长比较喜欢招聪明的实习生,只不过他认为的聪明就是算法题写的很快。组内氛围其他帖子说过,不多赘述了,总的来说人际关系氛围不错,组长很平易近人,但工作氛围个人不适应,感觉很多工作都很难开展。
#24届软开秋招面试经验大赏#