阿里云基础设施事业部Java岗、腾讯TEG后台开发岗面经📝
4.5,闲的没事更新下好几个月没动的博客,前段时间去面了阿里腾讯的暑期实习,腾讯总共三轮技术+一轮HR面目前已结束等结果中,阿里已经两轮技术面,听面试官说之后还有一轮交叉面和HR面,正在准备中......
相比较来说,投腾讯的那个部门处理效率高一些,3.22投的简历,27号打电话过来约一面时间,当时约了3.30号下午,从3.30号开始一天一面,4.2面完四轮,效率属实可以。看面试官问的问题,腾讯的问的多一些难度也大一些,但是了解到腾讯上海那边后台主要是C++架构,个人还是比较喜欢阿里的技术栈。阿里那边是三月中的时候启动的内推,3.29进行一面,4.3二面,问的技术方面的点比较少,但是问了很多项目相关的经历。以下是大概的内容,未能100%还原,主要做个参考:
腾讯
一面
Q:项目经历相关
A:因为项目之类的都写在简历上,我只是照着念一遍
Q:某项目的整体架构设计
A:挑了比较复杂的说
Q:socket连接建立流程
A:没准备好,大概讲了bind套接字,监听客户端请求,建立连接。详细可百度
Q:socket如何判断断开
A: onclose、heartbeat
Q:TCP,UDP区别
A: 计网基础
Q:TIME_WAIT状态的意义
A: 这个是TCP断开连接时客户端发送最后ACK的时候处在的状态,时长2个RTT,主要是确保ACK被服务端收到。如果ACK没有被服务端收到,服务端会重发FIN,那么客户端在TIME_WAIT状态时会收到重发的FIN(至多2个RTT的多时间内),这就是服务端没有收到ACK的情况,如果客户端2个RTT都没有收到重发的FIN,那么就是ACK被服务端收到了,连接关闭。
Q:TCP如何保证消息传输可靠
A: 没答全,建议百度
Q:TCP超时重传
A: 用计时器检测有没有收到ACK当然是最简单的,然后还有快重传,由3个重复ACK触发。