11月21号找朋友帮忙内推网易云音乐的Java开发职位,22号收到网易的面试邮件通知24号晚上电话面试。网易的反馈很快,赞一个。
因为这一份面经是12-09日补的,所以一些问题可能忘记了,还有一些问题的描述跟当时的真实对话有出入。因为面试官问的会婉转一点,我只是把这个回答需要的知识点记录上来?为什么怎么做呢,因为一些问题是关于简历上的内容和所做的项目引导而来的问题,脱离的这个语境不太好还原跟描述所以就只写知识点吧。
我自己有一些问题在面试过程中是没有答的跟完善的且有些回答是不准确的,所以我自己的答案也不做收录了,只记录问题。
总体来说面试内容很基础,没有什么很偏、很难的问题,并且面试官性格都很好,针对你没反应过来的地方会进行提示跟启发,经过这轮面试我也有很多收获。
一面
时间:11.24 下午6:30,电话面试
第一面主要是结合简历上的项目来问,现在我尽量回忆起跟多的面试内容,只记录大概的问题是什么
1、面试套路,自我介绍咯。
2、挑一个你的项目介绍下,做了什么?成功是什么?可量化的回答。
3、redis持久化策略有哪些?redis五种数据结构?ZSET怎么实现的?
4、用的mysql版本?怎么优化sql的,B+树……。
5、说一下索引最左匹配是什么?什么时候不能用利用到索引。索引列参与计算是可以用到索引吗?
6、生成线程池的方式?生成线程池方法的参数有哪些,分别有什么意思,线程池拒绝策略有哪些?
7、semaphore相关的问题?用semaphore怎么实现请求限制保护服务。
8、semaphore是怎么实现的? (AQS、CAS)
9、关于我项目中的一个预约编码生成方案问题?全局唯一,方便扩容,不存在单点风险,可容灾等。
10、怎么监控服务器线程的?
11、对象加载、实例化、销毁的过程、
12、平时有看技术方面的书籍、资料吗?(我提了深入理解JVM、下面就问JVM相关)
13、说一下JVM的运行时内存模型?GC收集算法有哪些?你吗生成环境用到什么垃圾收集器?
14、怎么分析生产环境GC情况?(jconsole、jvisualvm、runtime包、dump日志)?说下分析GC日志
15、MQ、MQ怎么保证恰好被消费一次?如果多次消费怎么保证幂等?因为上游业务bug或者其他问题不断的收到同一条消息怎么保证消费者的业务不受影响?
16、事物消息?事物消息怎么保证分布式事务的?(回调?两段式提交)
17、有什么想问的吗?
二面
时间:11-29 18:30 ,电话面试
1、自我介绍
2、介绍项目,又是第一面的那个项目重讲了一遍。
3、性能测试的流程,怎么发现性能瓶颈的?怎么解决这个问题的。
4、如果在上线前缓存没有生成好,大量的请求进入数据库中会发生什么?怎么解决。(热启动)
5、场景问题:如果应用服务器很多但是缓存服务器很少怎么尽可能的题号服务的QPS。(我当时想到两点:1-根据业务制定恰当的缓存淘汰策略。2-将对数据一致要求不高的在应用服务器做内存缓存)
6、数据库优化?最左匹配?索引怎么实现的?B+树高度是一定的吗?为什么要用B+树。B+树相对于B树有什么优点。
7、dubbo也就是RPC的完整流程是怎么样的(序列化、传输、动态代理……)
8、dubbo的优点是什么?为什么要用dubbo?没有rpc的时候是怎么做的?all in one 这种模式有什么优点?
9、dubbo的消费者为什么也要注册到zookeeper?只有提供者注册服务不行吗?
10、dubbo为什么用hessian?jdk的序列化有什么问题?xml、json为啥不行?dubbo网络传输是怎么实现的?
11、mysql中datetime 和 timestamp有什么区别?你们项目一般用哪个?哪个数据类型跟时区相关的?如果业务需要在全球推广用哪个?
12、mongdb实现细节(这一块我不怎么熟,就跳过了)
13、有什么想问的吗?
三面
时间:12-06 19:30 视频面试
1、自我介绍
2、项目介绍(套路……)
3、reddis五种数据结构、两种持久化方案?
4、为什么从SSDB切换到redis啊?redis的优点啊?
5、tryLock 和lock 各种方法的变种有什么区别(阻塞、非阻塞、中断响应等)
6、公平锁和非公平锁?实现?优缺点?
7、ThreadLocal介绍?怎么实现的?weekMap的key存的是什么?(提到弱引用问题、线程池的ThreadLoacl)
8、消息队列的问题?Kafka 的设计怎么实现的(broker、partition、topic、 group、选举、复制、消息怎么记录的 )。
9、还用过其他的队列没有?Kafka跟RabbitMq、activeMq、rocketMQ有什么不同?
10、spring bean初始化过程,销毁过程
11、spring ioc 、aop 解释?
12、动态代理两种实现方式?
13、描述 springMVC中的请求过程是怎么样的?
14、NIO跟BIO区别,(channel、buffer、selector……),serverSocketChannel socketChannel 等
15、有什么要问面试官的?
四面:
时间:12-07 19:30 电话面试
HR面,就寫具体内容了。
结果
时间:12-08 下午6点得到hr反馈,已经面试通过。offer在走流程,基本确定了。