【补发】腾讯PC客户端开发实习一面(已挂)
上个月面的腾讯,补发一下面试被问的问题。
介绍一下研究课题?(介绍完之后就没问了)
项目中涉及到的技术和实现问题拷打:
简单介绍一下Reactor网络模型?Reactor中业务逻辑处理是在主线程里还是子线程里?
线程池怎么实现的,使用过程中有遇到死锁问题吗,怎么解决的?
项目中IO多路复用怎么实现的?为什么用select而不用epoll?(现在应用场景下已经很少用select了,都是用epoll)
有没有遇到过内存泄漏的问题,怎么解决的?
C++八股拷打:
malloc和new的区别?
private、public、protected的区别?
多态底层是怎么实现的?
子类父类中,成员变量分配内存、成员变量赋值和构造函数执行三者的顺序?
指针和引用的区别,函数调用为什么传引用就能够修改他的值?
STL了解什么,vector与array的区别,vector怎么扩容的、unorder_map与map的区别?vector线程安全吗?
shared_ptr和unquid_ptr的区别,怎么避免同一个对象同时赋值给多个shared_ptr?
哈希冲突怎么解决?
操作系统&计组拷打:
物理内存和虚拟内存的区别,页表置换相关问题?
时间局部性和空间局部性(从主存、cache上答)?
CPU怎么判断去内存中读取的是指令还是数据(指令周期)?
IO地址等一系列问题?(多嘴说了句我会IO,就被问趴下了,题目都听不懂)
软中断和硬中断的区别、中断是什么?
计网拷打
TCP三次握手和四次挥手、为什么第四次挥手响应之后要等待2MSL时间、TCP和UDP的区别等一系列关于TCP的问题?
DNS解析流程、本地DNS时效性问题?
从浏览器上输入链接到显示出来一个页面,中间有什么流程?
IP数据包在路由之间是如何进行路由选择的?(路由表、路由选择算法)
路由器的NAT技术?
HTTP1.0和HTTP2.0区别、队头阻塞问题?
TCP如何判断对方已经断开了连接(突然下线)?
最后说面试时间已经很长了(一个多小时了已经),就不写算法题了。我感觉腾讯想要那种计算机基础扎实的实习生,问的大部分都是些计算机基础知识,腾讯是第一家给我发面试的公司,我面试回答得不怎么好,一面就给挂了。