百度 提前批 搜索架构 三面面经
一面
网络这块
C++ 网络这块, 问了整体过程
进程空间
为什么 要分为 未初始化 / 初始化区域
类型萃取
valid_type
deque 的底层实现
区别
char buffer[size]
char* buffer
POD 类究竟是什么?
- is a type that C++ compiler guarantees that 没有 magic in structure
- 比如 没有 虚函数表,没有用户定义的 destructor, 没有用户定义的 copy assignment operator
- Roughlt speaking, a type is a POD when the only things in it are built-in types and combinations of them
- 行为很像 C
比如 int, char, bool, float, double long / short 是 PODs
- pointers 也是 PODS
- enums 也是 POD
算法题:
- 反转链表
c 和 C++ 区别
二面
聊实习,做的具体内容 大概有20-30mins
- 1个 客户端 与多个服务器 如何实现高效信息读取
- select / epoll
- 什么场景下会用到多进程?
- 如何实现热读取
- 进程与线程区别
- gdb 的使用
- 动态链接如何 debug
- 动态链接和静态连接的区别
代码
- 手写工厂模式
- 手写 多线程 求和
- 有一个数组 Array 元素个数为 M 线程数 N
- 求和
三面
聊字节实习项目
一道算法题 10w 以内素数打印
- 要求简化