C++自动驾驶面试核心问题整理

应用开发

        概述:比较基础,没啥壁垒,主要有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的检测时间有点长,我们可以在应用层实现一个心跳机制。

其他... 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ปรัชญา แค้วคำมูล

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值