飞书实习后台二三面
二面
什么是僵尸进程?(说没听过,扯了个可能是挂起状态...)
进程由什么控制?详细说说进程控制块有哪些内容?详细说说处理器上下文有哪些内容?
说说进程调度的过程?
Java NIO的线程切换过程?
Redis有哪些数据结构,list的命令?zset的底层结构?
具体说说跳表这个结构,查询的复杂度是多少(没仔细学过,O(logn),看面试官表情以为是错的...)。
如果进程超过了内存的范围会怎么样?(不是很理解面试官的意思,然后举了说如果没有页表中没有对应的页表项则会发生缺页中断,如果PageCache中过大就会通过LRU算法频繁的置换页表项。)然后问这样会有什么问题(说造成系统卡顿。)
LRU算法时什么?(面试一下子说不出来名称,只能说了算法的原理)Java中怎么使用LRU算法(说了LinkedHashMap提供了LRU算法的支持。)
类似于输入一个URL会发生哪些过程的问题?(扯了DNS,TCP/IP协议从上扯到下,又从下扯到上...)
TIME_WAIT状态?
算法:数据中重复的数据
没有写过,面试官要按照他的思路来思想,人很好,我太蠢,提示了好久最后才写出来。
反问环节:看我算法写了那么久就问我平时是不是没有怎么写代码...,只能说平时会在LeetCode刷题,脑子一直转不过弯了。
备注:被面试官问完之后觉得铁定凉了,最后被老底捞了回来。
三面
- 写个异常处理的代码,然后就问了一大堆异常的问题了。
- 问了个智力题,抛硬币相关的,算概率。(一开始说错了,在他的提示下给了思路,说思路是正确的)
- 场景题:写个请求3秒超时的伪代码,最多重复试三次(没打开IDEA在文本编辑器上写了个伪代码,有些方法名记不清...,蠢o(╥﹏╥)o)。
- 其他的忘了
反问:看我场景题的代码就问我平时是不是很少写代码...(一天一天的代码白打了)
害,综合二三面最后的反问:“平时是不是很少写代码”,大概率是结束了。