实习一面:
- 项目
- 设计模式(分层,作用)
- 算法:二叉树迭代前序遍历
实习二面:
- ping实现机制(IP)
- TCP连接时,长时间收不到回复怎么办:TCP连接时,超过time out时间未收到信息,进行心跳检测。HTTP长连接,超过最大等待时间,会断开
- 多叉树如何转换成二叉树,且前序遍历一致,且保留父亲节点和兄弟节点的信息
- 算法:实现logn复杂度的pow(m,n)算法
- 贪吃蛇游戏实现,采用什么数据结构,如何实现食物产生方法。
秋招一面:
- 虚拟内存概念,细节,大小有没有限制
- 进程和线程关系、协程那,线程多又什么资源,线程数量可以一直增加吗,为什么
- 多线程和多进程的应用场景,对IO密集型用什么
- 一个网址输入浏览器,之后的流程?DNS使用什么协议,为什么?UDP,因为它快。什么情况下会用TCP?当域名下的IP数量很多事,由于UDP有字节限制(512),因此会通知请求端使用TCP连接。
- TCP握手和挥手,2MSL原因
- 了解过什么数据库?隔离级别都有什么?可重复读如何实现的,会遇到什么问题?多版本并发控制(MVCC),幻读行问题。详细说一下MVCC,幻读如何解决?间隙锁解决幻读,是MySQL数据库自行保证的吗,不需要请求端做吗?是的。如何实现的,没有索引可以吗?不可以,就是通过索引才能找到间隙。那没有索引那,如何解决幻读问题?使用可串行化的隔离级别、锁表。
- 算法题:lower_bound二分查找算法实现
秋招二面:
- 指针和引用区别
- 排序方法,排序稳定性定义,什么方法是稳定的?
- TCP挥手
- 算法:输出100以内的素数
- 概率题:10个红球,10个篮球,将其放进2个袋子里,分别从两个袋子里取一个,如何分配是的两次拿出来都是红球的概率最大?袋子1:1个红球,袋子2:9个红球、10个篮球。
秋招三面:
- 项目、经历