(8.26)腾讯后台开发二面
开局手撕,复杂链表的复制,先用哈希表写出来之后再优化成原地拷贝。手撕完之后全程项目拷打。
1. 服务器和客户端连接建立的具体过程(先讲应用层socket的运作,包括如何实现和内核的同步等等。再讲tcp在这些过程中状态机的切换)
2. 客户端的connect是如何绑定四元组的(显式绑定远端,内核自动分配端口,用路由表绑定网卡ip)
3. 连接建立的过程中,tcp包内部各个字段的变化(标志位+窗口大小+MSS)
4. 序列号的大小是根据什么变化的(syn+fin+数据)
5. 滑动窗口+拥塞控制详细讲解
6. 慢启动的时候,直接double很可能丢包,怎么调节使得慢启动阶段不丢包(考虑嗅探网络带宽,用第一个ack的来回时间来试探网络性能)
7. MSS的作用(送分题)
8. 发送和接收的时候,socket内部的结构如何保证你说的这些(iss+ack+seq)
9. 窗口大小只有65535,16位,在后来带宽变大之后,这个窗口太小了,怎么办(不改变协议字段,仿照ipv4的IHL字段,乘以4)
10. 面试官原话,如果接着往下推,要去学一下分布式
1. 服务器和客户端连接建立的具体过程(先讲应用层socket的运作,包括如何实现和内核的同步等等。再讲tcp在这些过程中状态机的切换)
2. 客户端的connect是如何绑定四元组的(显式绑定远端,内核自动分配端口,用路由表绑定网卡ip)
3. 连接建立的过程中,tcp包内部各个字段的变化(标志位+窗口大小+MSS)
4. 序列号的大小是根据什么变化的(syn+fin+数据)
5. 滑动窗口+拥塞控制详细讲解
6. 慢启动的时候,直接double很可能丢包,怎么调节使得慢启动阶段不丢包(考虑嗅探网络带宽,用第一个ack的来回时间来试探网络性能)
7. MSS的作用(送分题)
8. 发送和接收的时候,socket内部的结构如何保证你说的这些(iss+ack+seq)
9. 窗口大小只有65535,16位,在后来带宽变大之后,这个窗口太小了,怎么办(不改变协议字段,仿照ipv4的IHL字段,乘以4)
10. 面试官原话,如果接着往下推,要去学一下分布式
全部评论
以上全都是项目方面的拷打,发出来给大家参考一下。感觉问的还是蛮深的,会从设计层面去考察为什么这样子设计。如果代码不是自己写的,是真的回答不出来,上强度了属于是
好难
佬,来我厂一试,推见主页
应届岗嘛请问 我看不是要先发笔试吗 怎么大家都开始直接面了
第八个个问题没看明白是想问啥?看你写的答案像tcp连接的可靠性?
这也太难了
好难(。•́︿•̀。)
java还是c加加啊
相关推荐