- 自我介绍
- 算法题,求二叉树最大宽度,写完发现理解错了题意,面试官说的是同一层的最大宽度,我写的是不按同一层。。。面完恍然大悟说用bfs,求队列中最大size,面试官问怎么处理空节点,我说用数组记录索引,无了,代码都没写出来。。
- 智力题,一根线上若干蚂蚁([1,0,0,0,-1,-1,1,0,-1,0,0,1]),有往左的(1)有往右(-1)的,每两只蚂蚁碰撞会掉头,蚂蚁速度都一样(一秒移动一格),问:
- 什么时候最后一只蚂蚁掉下去?思考半天没想出来,最后在面试官的引导下说出正确答案,是离两端的某一端最远的那只蚂蚁的距离除以速度
- 最后一只蚂蚁掉出去的方向是什么?没想出来,正确答案是第一问那只蚂蚁的正方向
- 最后掉出去的是哪只蚂蚁?不知道。。有哪位佬能想出正确答案的?(卡在这道题,弄完就已经过了35分钟了。。)
- 八股:
- 进程线程区别?什么命令查看线程?(ps -eL)linux你是如何感知进程线程的?(我说查看线程命令,面试官说linux其实对线程进程的区别比较模糊,posix只是对线程的一层包装,具体不太懂,得回去补补)
- select和epoll区别?说了底层原理,数据结构,适用场景,封装的系统调用的不同
- 最离谱的来了,面试官问双缝干涉实验说明了什么(看我简历有个物理竞赛的获奖)我说证明了波粒二象性,问怎么证明的,我答波是因为查看条带状的干涉图谱,粒是查看条带的亮度,亮度越大光例子越多,面试官说证明粒子就是用一个东西挡住一条缝就没有干涉图谱了,不挡又有了。。
- 项目
- 介绍项目
- 自定义的协议是哪一层的?答应用层。面试官问直接json是不是更好,我答buffer里面直接装的json
全程55分钟,面试官很和蔼,体验还不错,就是不像我看的别的面经问的八股,为啥没咋问八股???2023.9.19