杭州数新网络实习面经(一二三面已OC)
一面
自我介绍+介绍实习和项目
1.你的rabbitmq如何保证消息的可靠性?(从消息发送到队列持久化到消息消费三个阶段吟唱)
2.rabbitmq如何保证消息的一致性?
3.看你有个项目用了多线程,有哪些线程池的创建方式?
4.线程池有那些参数?拒绝策略?详细描述下一个任务到线程池的各个环节。
5.bean的装配流程?作用域?
6.类的加载流程。
7.了解那些垃圾分类算法?
8.jvm内存模型是怎么样的?
9.spring的两大核心原理?
10.有哪些常用的集合类?你是如何使用的?他们有什么区别
二面(明显感觉到面试官是拿着一面的面评来面试的)
又是一遍自我介绍+加实习和项目介绍
1.取预约号,允不允许一个人取两个号?消息消费失败的处理机制。
2.给一个单向链表进行排序,如何排序(分析了快排、堆排序、希尔排序、归并排序。最后要求空间复杂度为1,最终面试官说用冒泡排序,我是个猪脑子,这里花了挺多时间的)
3.在浏览器输入一条url,从网络的角度描述整个请求,从发起请求到访问接口(从前端输入url进行的各种流程,到后端springMVC处理请求的整个流程)
4.如何判断一个sql有没有走到索引(猪脑不记得了,后来知道是在sql语句头使用explain关键字)
5.聊一下mysql的索引是什么东西?如何实现的?为什么采用b+树?
三面(依旧是拿着前面的面评来面试的)
1.mysql的事务隔离级别有哪些?mysql默认的隔离级别是那种?可重复读会有什么问题?什么是幻读?
2.假设mysql出现了死锁,如何去排查解决?
3.假设部署了一个redis给了1G内存,满了之后还能插入数据吗?
4.你编程实现过LFU算法吗?
5.你觉得为什么redis数据存储那么快?(基于内存、单线程模型、i/o多路复用)
6.使用redis一般会存在那些问题?什么是缓存击穿?如何解决?
7.https的连接原理?介绍它的整个过程。
8.请求一个网页,原本0.5s能响应,现在要花10s才能响应,如何优化,从各个方面进行优化。比如前后端数据库和网络。
9.在服务器上ping一个ip地址,你知道ping命令默认的端口是多少吗?
10.讲一下iso七层模型?包含那七层?网页请求属于那一层?
11.熟悉linux服务器上的命令吗?在文件中查询用什么命令?
12.对大数据有了解吗?k8s了解吗?docker了解吗?