流程包括笔试和三轮面试,笔试题目略难,我记得AC了一半好像,面试有三面,每轮面试官都很nice,问的问题都很考察基础,并且会根据你的回答,提问他感兴趣的部分,面试体验很不错~
笔试题忘记啦,略~
一面
知道哪些linux命令,traceroute,ping的底层实现原理。
netstat的各个参数含义
shared_ptr如何避免循环引用,不用weak_ptr:如果不用引用计数,如果避免xun'hgcroot
tcp三次握手,最后一次确认丢失,服务端和客户端会做什么。如果客户端发送数据,因为服务器端没有建立成功,会发送RST,告诉客户端断开连接;如果未发送数据,服务器端会等超时后,发送RST断开连接。
linux命令考察。
- 统计所有连接数。
- 哪个进程在监听给定端口。 netstat -p | grep 8888
哪些STL容器是线程安全,都不是。通过加锁保证线程安全
可以创建的线程数量,受什么影响。 TID和内存大小。线程栈(linux下10M),以及其他数据结构
tcp分片:MSS是最大传输段大小的缩写,指一个TCP报文的数据载荷的最大长度,不包括TCP选项。在TCP建立连接的三次握手中,有一种很重要的工作那就是进行MSS协商。连接的双方都在SYN报文中增加MSS选项,其选项值表示本端最大能接收的段大小,即对端最大能发送的段大小。连接的双方取本端发送的MSS值和接收对端的MSS值的较小者作为本连接最大传输段大小。
IP分片产生的原因是以太网的MTU;TCP分段产生原因是MSS。IP分片由网络层完成,也在网络层进行重组;TCP分段是在传输层完成,并在传输层进行重组。
对于以太网,MTU为1500字节,MSS为1460字节,去掉ip和tcp头部大小
故采用TCP协议进行数据传输,是不会造成IP分片的。若数据过大,只会在传输层进行数据分段,到了IP层就不用分片。而我们常提到的IP分片是由于UDP传输协议造成的,因为UDP传输协议并未限定传输数据报的大小
一个进程有10个线程,总共会执行1个时间片,因为进程是资源分配的最小单位。
最后两个算法题,忘记啦~~~
二面(以项目为主,所以细节略)
研究生阶段做的什么?
介绍一个实验室项目
介绍项目的难点
项目中学到的东西,技术,非技术
实验其他项目,细节问题
两道算法题
三面(HR面)
常规hr问题,以及项目的简单介绍
以上!
#面经##校招##腾讯音乐娱乐##C++工程师#