百度运维岗面试
周六的百度运维来学校做了宣讲,然后投递了简历,当天就直接面试,来分享一哈面试过程,基本全是网络通信方面的,没问C++,也没怎么问数据结构,攒人品!!!
面试时间为56分钟
1、自我介绍
2、因为我本科专业是“信息与计算科学”,他问我本科专业学过那些课程
3、问项目
4、项目中为什么用UDP通信,不用TCP通信(开始了,从这个开始一发不可收拾啊)
5、UDP和TCP的区别
6、刚刚你提到了流量控制,TCP是怎么做的(滑动窗口)->滑动窗口怎么实现的->你觉得这样实现会有什么问题->怎么解决
7、socket网络编程有哪些系统调用?(没反应过来,提示listen是)然后我就把知道的全说了,又问close是一次就能直接关闭嘛(...),中间有提到半关闭状态shut_down(....)
8、阻塞式I/O和非阻塞式I/O的区别->操作系统是怎么实现非阻塞式I/O的,我理解错了,就把socket设置非阻塞模式的函数给说了,他说我不是问编程实现,操作系统怎么实现的,我就说了网络通信的两个过程“数据准备”+“数据从内核拷贝到进程”(挖了个大坑),然后非阻塞是怎么怎么做的(都不知道对不对,他也没说啥)
9、给我说了一段程序,让我分析这个程序中内核态和用户态?->那内核态和用户态的区别呢?
10、两个0到100万的数a,b,问a的b次方的后三位是多少,我就说大数模幕 +hash应该可以做到(开始新的坑)
11、你刚刚提到了hash,hash表底层怎么实现的(....)->hash有什么问题->怎么解决->链地址法怎么做的(.....)->这样做会有什么问题->怎么解决
12、1000个瓶子有999瓶白水和1瓶毒药,最少用多少只小白鼠可以找到毒药瓶子,限制是一周之后才会死,一周之后就要得到毒瓶子的是那一瓶,我告诉他我猜的是10只(标准答案真的是10),他问我怎么考虑的,我说我不知道,我就是凭直觉(哈哈),然后讨论了很久,我还是没有想到解决办法,他有点失望了。
13、项目为什么要用多线程(....)->为什么不用多进程,我弱弱的告诉他我们是windows下开发的,他说你没有liunx的开发经验嘛?我说没,linux是我自己学的,没做过linux的开发。
14、有什么想问他的?
15、运维部有多少了解?
16、对人工智能的看法?
中间应该是还有一些问题的,具体的我也回忆不起来了,面试官人超级好,知道我第一次面试,一直给我说别紧张,还说我表现的很好,然后GG,哈哈!技不如人,甘拜下风,继续准备,后面继续加油喽...
#百度##C++工程师##运维工程师#