1 面试信息
面试形式:视频面试
面试时间:2020-03-05 16:00:00GMT+08:00
面试时长:约两小时
面试职位:客户端开发工程师-产品研发和工程架构部
2 考察内容
1.我们主要考察通用型的业务问题和过往的项目经历
2.价值观和软性技能也是我们选择人才的重要因素
3 面试问题
1.三次握手和四次握手的原理(为什么是四次?)
2.TCP和UDP的区别
3.TCP的可靠性依靠什么实现
4.滑动窗口的作用
5.磁盘调度算法(进程调度算法)
6.虚拟内存
7.内存溢出时如何判断是虚拟内存溢出还是物理内存溢出
面试官解答:可以查看数据结构的地址,如果存在空闲地址段,则是虚拟内存溢出,如果地址段满则是物理内存溢出。
8.LRU算法怎么实现
9.结合实际问题,定义缓冲池结构,使用HashMap如何尽可能高效地实现LRU算法进行页面淘汰(需要明白HashMap的基本原理)
面试官解答:利用队列先进先出的性质,淘汰时删除队首节点。同时,在定义HashMap的<key,value>键值对时,value直接存储节点。
4 机试问题
选择了中等难度(easy,mid,hard),问题如下:
一个数据结构中保存了若干航班飞机的起飞和降落时间,当在飞行中的飞机数量小于K时,处于