应用开发

        概述:比较基础,没啥壁垒,主要有linux开发经验即可        

        问题:基础八股,如计算机网络、操作系统、c++11等基础三件套;中等难度算法题1-2道。

        

中间件开发(性能优化)

        概述:本身需要深厚的C++功底,所以对于经验要求较高。涉及技术面:linux系统、内核、性能优化等比较细分的领域。

        问题:本身岗位上限高(钱多),所以面试的话对于过往的项目经验比较看重,也注重岗位匹配度;当然算法也要能写出来。

算法

        本人不涉及。

常见问题

网络

        先看这个图,回顾下建立连接跟断开链接细节

        

        Q: time_wait是什么?过多是什么原因?会有什么影响?如何优化?

        A: time_wait状态出现在挥手阶段,当处于FIN_WAIT_2阶段的A端收到B端发送的FIN报文并回复ACK后所在状态;主动关闭链接频繁、网络不稳定、系统参数设置不合理;资源占用、拥塞风险;服务端尽可能不断连、内核参数调整如图:

        Q: 四次挥手当处于LAST_ACK阶段的B端没有收到A端的ACK报文,到点重传FIN报文,此时处于TIME_WAIT状态的A端过了2MSL如果没有收到B端重传的FIN报文,该如何处理? 为什么不是4MSL或8MSL?

        A: 如果客户端发送的ack报文丢失,服务端重发的fin报文也丢失了,那么2MSL就不起作用了。那么需要给它设置更长时间??我们设想在一个丢包率为1%的糟糕网络中,两次连续丢包的概率为万分之一,忽略它显然给解决它更具有实际意义

        Q: 为什么业务层要心跳?

        A: TCP的检测时间有点长,我们可以在应用层实现一个心跳机制。

其他... 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐