京东java岗社招岗面试题目
上来先进行自我介绍
问参与的一个微信支付优惠的业务
因为简历中写了解决线上生产问题,所以问线上的生产问题的原因
问Redis底层的线程模型
问zset集合底层数据结构,时间复杂度
因为用zset来实现排行榜功能,又问我还能怎么实现,说的是存到数据库里,读数据的时候排序
因为项目中实现了个防止用户刷浏览量,我是丢到redis中设置过期时间的,所以面试官问
我拦截器了解吗,为什么不用拦截器
问aop
springboot自动装配原理
springmvc
dubbo、zookeeper了解吗
mq了解吗
hashmap为什么用红黑树,为什么不用其他的树,为什么扩容是2倍,是否线程安全
CurrentHashMap的put流程
JMM
synchronize底层包括轻量级锁的实现,重量级锁、锁静态方法和非静态方法
aqs底层实现
线程池的生产线程的过程
osi七层模型,以及每层对应的内容
jvm中几种引用类型(强软弱虚),讲弱引用的时候扯到了Threadlocal的key也是弱引用,
会造成内存泄漏,这个时候又问我ThreadLocal的map的hash是咋hash的
设置线程池(cpu 密集/io密集),为什么cpu密集设置cpu 核数+1 而不是-1
设计模式:适配,装饰,桥接,观察者模式
bean的生命周期
java类加载机制三种双亲委派机制优点什么时候需要打破这种机制
python和java 的语言特性区别,python为什么慢
hashmap时间复杂度
hashmap 1.8改为红黑树底层存储时间复杂度
hashmap容量扩容机制数组移动为什么每次扩容两倍
hashmap线程安全还是不安全
cocurrentHashMap分段锁1.8以后有没有了
VOLATILE 机制,可见性是什么,get操作需不需要加锁和synchronized 底层实现原理及锁优化
#京东##java工程师##面经##社招#