引入
Netty的源码分析中, 采用自底向上的方式进行分析, 底指的是一个个的组件, 上指的是整体的架构及一系列操作的执行流程举个简单的例子。
Netty服务端的启动流程中, 必然会调用bind方法, 一个bind方法的内部, 其实完成了许许多多的内容, 涉及了许多组件, 如果我们从入口开始讲起, 那么一遇到不认识的组件就容易陷入迷茫, 所以我们从基础组件开始讲起,。
最后再来讲Netty的启动流程, 这样, 在有了基础组件的知识的前提下, 再来看启动流程就会非常的清晰, 本篇文章讲的组件是Netty中的常量池
一轮:
第一轮面试官(是一位女性,喜欢钻研一些细节性的东西)
自我介绍
1、 HashMap和ArrayList的原理解释下。
2、 Netty原理介绍下。
3. 了解过NIO,BIO,AIO么?介绍下异同,代码中如何使用?
4. 分布式锁用过么?用什么函数?什么使用场景?
5. 能介绍下垃圾回收机制么?
6. redis的数据结构介绍下。项目中用过哪些?什么场景
7. 幂等性是什么?如何保障?
8. 交易系统中的数据一致性咋保障?
二轮:
第二轮面试官(年龄看起来不大,人很好说话,给人一种很舒服的感觉)
自我介绍
9. 项目中的mongoDB使用场景是啥?如何部署的?怎么保证高可用性?
10. JVM的内存结构能介绍下么?
11. CMS和G1的优缺点?什么时候发生FULL GC?什么时候stop the world!
12. 什么样的对象能当根节点?
13. 一个类,两个函数,一读一写,写函数加synchronized,读函数还用加么?voliate关键字啥作用?
14. 数据库设计时,主键咋设?自增好还是非自增好?为啥?
15. mysql的锁类型介绍下
16. 线上CPU 100%了怎么查?
17. 写个算法,给一个数字,一个单调数组中,方法返回数组中第一个大于给定数字的下标,如果没有,返回-1。
第三轮:
第三轮面试官(应该是部门主管,比较严格)
你职业生涯中哪些事比较有亮点?
你的职业规划是啥?以后想怎么发展?
2、spring-cloud是否了解,spring-boot是了解,讲一讲bean的生命周期
3、hashmap-1.8后的改进,hashmap为什么是线程不安全的
4、如何做到线程安全,concurrenthashmap是怎么实现的
5、用到哪些的设计模式
6、ThreadLocal用过吗
7、类的加载机制
8、JVM-内存模型
9、垃圾回收
10、redis源码有读过吗
11、擅长的做什么
12、职业规划是什么
13、考虑过管理吗
最后
针对以上面试题,小编已经把面试题+答案整理好了,想要获取这份面试题+答案的朋友帮忙点赞后,戳这里免费领取就可以了
面试专题
除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习
img-u4j3OVgN-1615960727103)]
[外链图片转存中…(img-D6OzUkcL-1615960727105)]