一面1. 简单自我介绍2. 简单介绍一下GMP的调度方式?3. 数据库的四个隔离级别4. 你觉得互联网公司应该使用什么隔离级别?5. 问了可重复读可能存在的问题,回答的有一定概率发生幻读,又问了死锁,没答上来6. 现在有一条慢语句,问优化思路7. 现在有一个服务器,问这个服务器最多能接多少连接呢?回答是和采用的方法相关,如果来一个连接就开一个线程的话,和操作系统分配的线程栈大小相关(其实和操作系统调度线程的上限也有关,太紧张了忘了说)。又提了一嘴多路复用技术,多路复用能够维护的连接数就和设计和硬件上线相关了。8. Socket五元组是什么,组成有哪些9. TCP如何保证可靠传输?答了校验和,重传,滑窗流量控制和拥塞控制10. 细嗦滑窗?说了发送端的,接着让说接收端的,接收端怎样决定发来的数据到底是收下还是丢弃呢?这个和我的CS144很相似,我就顺带提了一嘴项目,说出来了,但是感觉语言组织的好垃圾。。11. redis中的ZSET用了什么数据结构?答的是跳表,让简单介绍了一下跳表,并且问了跳表的增删查改的时间复杂度。12. 让简单介绍了一下Raft协议,问我如果有节点掉线了再上线怎样保证这些集群的数据一致性呢?然而我只做到了选主这块复制状态机还没有做完。于是又问了Raft的选主过程。13. 你是怎样对你的WebServer进行压力测试的,要求详细点(到了这鼠鼠就只能说出来是WebBench做的了,集体参数以及HTTP协议代数)面试官看起来不是很满意的样子,说是应该可以再详细一点。(操了C++选手真的不知道该做什么项目好了14. 手撕:最长公共子序列,这个撕了五六分钟,太紧张有点忘了撕出来了面试官看了下思路说没毛病,但是飞书的编译器一直报段错误15. 反问:现在的项目普遍比较同质化,希望在项目里有自己的改动,再详细些(专指WebServer) 后面手撕外加面试官和我一起找BUG花了快15分钟,全场也就40分钟左右吧,感觉被KPI了