欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试:Java中高级开发

程序员文章站 2022-04-21 10:35:08
中高级开发说明:最近看到很多朋友喜欢我的java中级开发一章,于是乎,我决定加推一章中高级开发篇,面试十问,每个问题,你觉得自己可以讲半小时,就算你过了,薪资评级20k左右。提示:以下是本篇文章正文内容,后面的答案我会慢慢补。面试十大提问1.多线程(ThreadLocal(问了父子线程怎么共享数据 interitableThreadLocals)、lock和sync区别(问HashMap1.7、1.8区别时带出)、AQS原理(执行过程源码,⼊队出队的细节,源码细节)、CountDownLatch和...

中高级开发

说明:最近看到很多朋友喜欢我的java中级开发一章(快十万访问量啦),于是乎,我决定加推一章中高级开发篇,面试十一问,每个问题,你觉得自己可以讲半小时,就算你过了,薪资评级20k左右。


提示:以下是本篇文章正文内容,后面的答案我会慢慢补。

面试十大提问

1.多线程(ThreadLocal(问了父子线程怎么共享数据 interitableThreadLocals)、lock和sync区别(问HashMap1.7、1.8区别时带出)、AQS原理(执行过程源码,⼊队出队的细节,源码细节)、CountDownLatch和CyclicBarrier的区别是什么源码级别、volatile从指令重排序,内存屏障,聊到总线⻛暴)所占⽐重较⼤

答案:

敬请期待

2.数据库(mysql索引(聚集索引、⾮聚集索引、索引结构(顺带会问各种树的特性)、执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁(和多线程混合问的,乐观锁悲观锁等)、唯⼀索引和普通索引的区别聊到了changeBuffer,聊了页分裂合页合并)比重较大

答案:

敬请期待

3.jvm调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪⾼、内存彪⾼、逃逸分析)

答案:

敬请期待

4.redis数据结构、跳跃表、redis qps能上多少,怎么知道的、sentinel和cluster区别和各自适用场景、redis cluster集群同步过程、redis单线程为什么快、多大叫大key、热key产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办…

答案:

敬请期待

5.spring的作用、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)

答案:

敬请期待

6.dubbo服务调用过程(dubbo服务暴露和引用过程),dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接,负载均衡策略,容错机制在哪里实现的源码

答案:

敬请期待

7.说到缓存穿透,让我设计⼀个防止缓存穿透的解决⽅案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如⼀致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问。

答案:

敬请期待

8.有没有做限流,设计⼀个侵⼊性最⼩的限流服务,听到说做了限流,限流标准(并发数? qps?并发数和qps关系?说出了5种限流方案和对应算法原理)

答案:

敬请期待

9.NIO、BIO区别,NIO解决了什么问题,Netty线程模型(源码拷问)

答案:

敬请期待

10.MySQL行锁最大并发数?(秒杀项目指出)设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别?秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终⼀致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?(三个阶段的具体实现)

答案:

敬请期待

11.线上故障如何快速排查?

答案:

面试:Java中高级开发

总结

以上就是文章所有内容,本文目前仅仅简单针对面试常问的面试题进行提问,后期的答案我会用二个月慢慢补上来。各位看官,觉得我写的不错的,赏包辣条呗。

本文地址:https://blog.csdn.net/java_wxid/article/details/109592735