得物二面-后端
项目,实习
1 TCP连接在什么情况下会处于 time wait 状态
当 TCP 连接中主动关闭连接的一方(如客户端)发送最后一个 FIN 报文,且收到对方返回的 ACK 报文后,会进入 TIME_WAIT 状态,目的是确保对方能收到自己的 ACK,避免因报文丢失导致对方重发 FIN,同时防止旧连接的残留报文干扰新连接。
2 time wait 会持续多久
2倍的最大报文段寿命(2MSL)
3 怎样快速把很多TimeWait 的连接给清掉,防止占用资源
调整内核参数:通过修改 Linux 系统内核参数net.ipv4.tcp_tw_reuse为 1,允许复用处于TIME_WAIT状态的端口;开启net.ipv4.tcp_tw_recycle(需注意 NAT 环境下可能有问题),加速回收 TIME_WAIT 连接;
缩短 TIME_WAIT 时长:将net.ipv4.tcp_fin_timeout参数调小(默认 60 秒,可根据需求设为 30 秒或更短),减少连接在 TIME_WAIT 状态的停留时间;
优化连接设计:采用长连接(如 HTTP/2)减少短连接创建频率,从源头减少 TIME_WAIT 连接数量。
4 怎么分片上传,怎么断点续传
5 mysql的索引类型
6 索引什么时候会失效
7 有一个热点数据,先删redis还是mysql,分别有什么问题
8 常见的限流算法
9 linux怎么找到后缀为java的文件
find . -name "*.java"
10 有个日志文件,每次有日志就追加到日志末尾,日志有几种类型INFO、WARN、ERROR等,怎么找到最新的五条ERROR日志?
grep "ERROR" 日志文件名 | tail -n 5
#后端岗位##面经#
1 TCP连接在什么情况下会处于 time wait 状态
当 TCP 连接中主动关闭连接的一方(如客户端)发送最后一个 FIN 报文,且收到对方返回的 ACK 报文后,会进入 TIME_WAIT 状态,目的是确保对方能收到自己的 ACK,避免因报文丢失导致对方重发 FIN,同时防止旧连接的残留报文干扰新连接。
2 time wait 会持续多久
2倍的最大报文段寿命(2MSL)
3 怎样快速把很多TimeWait 的连接给清掉,防止占用资源
调整内核参数:通过修改 Linux 系统内核参数net.ipv4.tcp_tw_reuse为 1,允许复用处于TIME_WAIT状态的端口;开启net.ipv4.tcp_tw_recycle(需注意 NAT 环境下可能有问题),加速回收 TIME_WAIT 连接;
缩短 TIME_WAIT 时长:将net.ipv4.tcp_fin_timeout参数调小(默认 60 秒,可根据需求设为 30 秒或更短),减少连接在 TIME_WAIT 状态的停留时间;
优化连接设计:采用长连接(如 HTTP/2)减少短连接创建频率,从源头减少 TIME_WAIT 连接数量。
4 怎么分片上传,怎么断点续传
5 mysql的索引类型
6 索引什么时候会失效
7 有一个热点数据,先删redis还是mysql,分别有什么问题
8 常见的限流算法
9 linux怎么找到后缀为java的文件
find . -name "*.java"
10 有个日志文件,每次有日志就追加到日志末尾,日志有几种类型INFO、WARN、ERROR等,怎么找到最新的五条ERROR日志?
grep "ERROR" 日志文件名 | tail -n 5
#后端岗位##面经#
全部评论
相关推荐