字节跳动 基础架构C++服务端开发面经~
一面还是比较简单的,就是第二道题做了很久 ~
8.29 一面 76min
1. 介绍项目和实习(大概20+min
2. 事件驱动解释一下?epoll / poll / select 有什么区别?用在什么中?
3. TCP三次握手和socket族函数怎么对应的?没有accept 会导致连接建立失败吗?
4. cas会有哪些问题?如何避免?底层原理是什么?
5. cas为什么开销小?为什么互斥锁开销大?开销具体指什么?
6. 虚拟内存了解吗?你怎么理解的?
7. 算法题:打印根节点到所有叶子节点的路径,挺简单的 dfs三分钟搞定~
8. 算法题:给定一个数组height[n] 表示山的高度,然后下雨了,水量够大,把山都淹了,问存了多少水?
二面难度就上来了,问的我有点自闭了。。
到底是基础架构部哈,原理抠的都好细
8.29 二面 65min
1. 介绍实习和项目
2. TIMEWAIT解释一下?为什么需要这个状态?
3. 如果在TIMEWAIT期间收到了数据包,会出现什么情况?(这个不会。。。
4. shutdown和close区别?
5. 介绍一下页表?
6. 页表的数据结构?除了有地址相关的参数还有什么?(我只说了多级页表,其他没说了,后来意识到他可能再说TLB?自闭了。。
7. 伙伴系统了解吗?介绍一下?
8. 分段和分页有什么区别?各自适合什么场景?
9. 伙伴算法晓得吗?介绍一下
10. 进程调度算法了解什么?介绍一下O(1)和CFS?
9.08 三面 45min
三面感觉很奇怪了,问的东西大部分都很基础很基础,只有少数几个问题没接触过
这难度不科学啊,是撒子情况塞=w=
1. 阻塞IO和非阻塞IO,你怎么理解?哪个性能更好?或者说你觉得它们各自有什么特点?
2. 数据库:事务的ACID晓得吗?介绍一下?
3. MySQL如何实现ACID的?原理是什么?
4. 是否了解intel的DPDK架构了解吗?有什么理解?
5. Redis怎么保证高性能的?
6. 使用Redis时,对热点key怎么解决?
7. 使用Redis时,遇到一个很大的Value怎么办?
8. linux的一些常用命令:查看cpu 网络 磁盘 内存的命令都知道哪些?
9. gdb用过吗,说一些gdb的命令?
10. 单向链表快排?
焦急等待结果中。。。。。有大佬知道多久会出吗
更~ 目前状态是面试已完成
应该问题不大了吧?
#字节跳动##C++工程师##面经##校招#