字节C++后端 二面凉经
一面问的比较基础,就不贴上来了,一面完马上就约了二面。二面面了60分钟左右,面试官比较严肃,应该是个大佬,搞得我也很紧张。
1. 深挖项目(简历上一个深度学习的项目,聊了接近20分钟吧,问的很细)
2. epoll是怎么实现的?有哪几个步骤?ET和LT的区别
3. unordered_map的底层原理说一下,它是怎么解决哈希冲突的
4. 迭代器失效的情况分析(我说了序列型容器在erase一个迭代器元素后,后面的元素也会erase,导致迭代器失效,面试官说不完全正确,但是想不到别的失效情况了)
5. TCP怎么保证可靠传输的?拥塞控制说一下
6. 若有一个函数,返回0的概率是60%,返回1的概率是40%,如何利用这个函数获得50%的概率
7. 设计一个栈,O(1)复杂度求最小值
8. 用过数据库吗?mysql的两个搜索引擎说一下
9. B+树的实现原理,为什么innodb不用红黑树用B+树?
10. ACID是什么?持久性的原理说一下
11. 代码:m元钱,n个红包,最小单位1元,尽可能保证随机分配,不要求平均性。(一开始写了个O(m)的算法,面试官不满意,让写一个O(n)的,我想了一下,把m元平均分配给n个红包,再遍历这n个红包,每次随机选另一个红包把自己随机一部分钱给它,面试官说这样不能实现随机……不知道为什么)
12. 为什么投游戏岗,不投搜索、大数据之类的岗位?
13. 你的优点和缺点?
14. 反问
个人觉得答得还不错,都比较基础,除了代码题可能没写出最优的算法,但是第二天还是收到感谢信了。写代码题的时候因为忘了rand()在哪个头文件,就上网查了一下,后来才知道面试官那边是知道切了页面的,怪不得他问我为什么不投搜索岗……不知道会不会因为这个原因挂了我(我就查了一个头文件啊……有点后悔没经过面试官同意)
#字节跳动##C++工程师##实习##面经#