面完感觉是秋招+找实习目前为止,强度最大的一场了。
录音复盘了一下,确实回答的很紧张,回答的磕磕绊绊、结结巴巴,每个问题想半天。
心想问这么久,不能是kpi了吧?感觉就自己的发挥来说,也还算正常,发挥不算差。
然而。。第二天一早挂了555
但想来再给一次,再给十次机会。也就这样,可能确实是能力不配吧。下面给uu们分享一下拷打过程。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
没有自我介绍,没有自我介绍。上来就是一道手撕,还特意让做20分钟。5分钟写完了。看了一会,提了一些他的疑问,又给了几个用例,跑一下,没问题,ok。
接下来就是长达一个半小时!的无限折磨,全程想到什么问什么,问到不会为止。中间会疯狂打断你。下面的面经记录了每个问题的大概,每个问题都会不断追问!!!追问过程没有全记录。
没开摄像头,声音忽远忽近,我全程自己看自己。
问题:
讲一下tcp三次握手?为什么需要第三次握手?
每一次握手是用来确认什么?
三次握手涉及到全连接和半连接,什么是全连接、什么半连接?
:打断一下,不用发散,直接回答什么是。
网络佳的情况下会不会出现半连接?额。。想半天。。 ,问:再讲什么是全连接。
纠正丢包情况。。cpp在三次握手涉及到哪些socket相关的接口方法
四次挥手过程?在第二次挥手完,你说服务端进入closewait状态,他还会发送fin包嘛?
timewait的状态具体是多久?2msl?这里说之前说错了。。。 刚说可以设置这个时间,怎么设置这个时间?最大报文时间段的两倍
调整内核参数去设置这个时间,但是不能设置成0,否则会有问题
他为什么是2msl包的时间的
刚说设置成0会有什么问题?
挥手为什么不能像握手一样做成三次?
重新再问,第二次和第三次为什么不能做成一次
为什么放在一起就不能明确是fin?
假如在机器上看到有很多timewait,什么情况会导致大量timewait?
提到了在关闭连接出现bug可能会导致。
比如在关闭连接出现bug,什么样的bug可能会导致?
closewait状态是在哪一方?
被动关闭方
timewait状态有什么办法可以优化?
讲到了减少tcp大小的窗口
什么是tcp滑动窗口?
接受一方可以接受的最大数据量。用于流量控制和拥塞控制。
最大数据量是嘛?嗯,解释解释解释解释解释解释
发送方是怎么知道多少数据?
你刚才说到拥塞控制,拥塞控制有哪几个阶段?
再问一个算法的,10亿个整数,存在文件里。怎么取最大100个?堆。或者。外部排序,解释半天
讲一下排序?问stdsort。讲了半天,归并啊,等等,时间复杂度啊
一次性哈希?应用场景?
进程、线程、协程?
三者分别运行在什么态?
三者的开销是什么样的?进程>线程>协程。。为什么是这样的?进程独立内存空间,线程是共享一个进程的内存空间。。巴拉巴拉巴拉
多进程编程和多线程编程的区别?多进程切换设计到操作系统的参与,多线程只涉及到寄存器状态
大小端,说一下。再说一下什么是网络字节序?
为什么要有网络字节序?不知道不知道不知道不知道
什么是字节对齐?有啥用?
讲一下一个数据包从网卡收包,到应用层的处理过程?
刚讲到cpu中断,什么是硬中断什么是软中断?
堆和栈的区别
栈为什么访问速度更快?
简历上说实习用到mq(心想终于要问简历了,终于能说点自己真正做过的东西了,然而。。),讲一下mq,mqmqmq聊啊聊啊聊啊聊啊聊啊10分钟差不多吧,消息队列又深问,不会了。问到我说没遇到过,不会。。。
我说消息队列太底层的知识就不会了。他说这不是底层。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
结束,反问:业务介绍,涉及到哪些技术,学习建议?
:简单介绍业务xxxxxxxx,设计的技术很多,一时也讲不完。每个人会的不一样,不可能每个人什么都会。
第二天早,一面挂。555
#腾讯##腾讯面经##面经#