京东 Java实习 一面 3月14 60min
京东 3 13 晚上7点(60分钟)
1.问了一下项目
2.HashMap底层实现,扩容阈值,具体怎么扩容,扩容优化,抖动函数,集合大小为什么是2的幂,为什么阈值是8(源码里是8-1),jkd1.7,1.8具体优化的地方。
3.线程安全集合,ConcurrentHashMap,具体实现,jdk1.7,jkd1.8区别,分段锁,锁粒度,好像答的不够多,然后又挤出来一个计数方法,1.8计数特别麻烦。
4.多线程相关,volatile原理,JMM,synchronize优化(还讲了对象头markword 和类元指针),reentrantlock原理,AQS。
5.final修饰类 方法 属性区别。
6.JVM内存布局,虚拟机栈本地方法栈,栈帧里的结构,哪些区域线程私有公有。
7.堆区域的划分,垃圾回收算法,标记算法,内存分配算法(和垃圾回收器相关)。
8.还问了项目中使用了什么垃圾回收器,serial serial old。
9.方法区,元空间。 具体怎么优化解决STW问题。
10.对象的所有过程,创建销毁,加载链接初始化,分配内存CAS(还讲了TLAB参数),具体怎么移动到老年代(15),还讲了具体操作数栈中的过程,内存泄漏。
11.CMS 和 G1相关也讲了一下。
12.ThreadLocal原理,里面的map具体怎么实现的,和hashmap的不同,内存泄漏问题,具体应用场景。
13.MySQL索引相关,聚簇索引。
14.innodb和myisam的区别。
15.四个隔离级别,每个级别分别解决了什么问题,讲了默认隔离级别和常用隔离级别。
16.gap lock, record lock ,next key lock。
17.MVCC怎么实现的,解决了什么问题,undolog讲了一点。
18.B+树讲了一点。
19.脏读 幻读,讲一下幻读场景。
20.redis持久化,讲了aop rdb,具体场景,两者一起用,cow和fork,aof瘦身。
21.缓存雪崩 缓存穿透(好像和击穿弄混了),布隆过滤器。
22.redis zset,跳跃表,为什么不用红黑树,跳跃表实现讲了一下。
23.分布式锁。答了incr,set,setnx,redlock。
24.分布式事务(不会)
25.zookeeper(不会)
26.dubbo springcloud(说以前写过Demo现在不记得了)。
27.redis集群相关,讲了哨兵,主从,集群,选举Leader,掉线了会发生什么,脑裂,hash一致性算法(讲了虚拟结点),哨兵之间订阅沟通还有一些不记得了。
28.AOP原理,IOC原理。循环依赖。CGLIB,JDK proxy,讲了底层缓存,之间的区别。
还问了一些其他问题,不太记得了。
面试官很友善,面试体验非常好,不会的地方说错的地方会帮我解答。
反问:答的咋样,应该怎么样学习。
#实习##面经##京东##Java工程师#
1.问了一下项目
2.HashMap底层实现,扩容阈值,具体怎么扩容,扩容优化,抖动函数,集合大小为什么是2的幂,为什么阈值是8(源码里是8-1),jkd1.7,1.8具体优化的地方。
3.线程安全集合,ConcurrentHashMap,具体实现,jdk1.7,jkd1.8区别,分段锁,锁粒度,好像答的不够多,然后又挤出来一个计数方法,1.8计数特别麻烦。
4.多线程相关,volatile原理,JMM,synchronize优化(还讲了对象头markword 和类元指针),reentrantlock原理,AQS。
5.final修饰类 方法 属性区别。
6.JVM内存布局,虚拟机栈本地方法栈,栈帧里的结构,哪些区域线程私有公有。
7.堆区域的划分,垃圾回收算法,标记算法,内存分配算法(和垃圾回收器相关)。
8.还问了项目中使用了什么垃圾回收器,serial serial old。
9.方法区,元空间。 具体怎么优化解决STW问题。
10.对象的所有过程,创建销毁,加载链接初始化,分配内存CAS(还讲了TLAB参数),具体怎么移动到老年代(15),还讲了具体操作数栈中的过程,内存泄漏。
11.CMS 和 G1相关也讲了一下。
12.ThreadLocal原理,里面的map具体怎么实现的,和hashmap的不同,内存泄漏问题,具体应用场景。
13.MySQL索引相关,聚簇索引。
14.innodb和myisam的区别。
15.四个隔离级别,每个级别分别解决了什么问题,讲了默认隔离级别和常用隔离级别。
16.gap lock, record lock ,next key lock。
17.MVCC怎么实现的,解决了什么问题,undolog讲了一点。
18.B+树讲了一点。
19.脏读 幻读,讲一下幻读场景。
20.redis持久化,讲了aop rdb,具体场景,两者一起用,cow和fork,aof瘦身。
21.缓存雪崩 缓存穿透(好像和击穿弄混了),布隆过滤器。
22.redis zset,跳跃表,为什么不用红黑树,跳跃表实现讲了一下。
23.分布式锁。答了incr,set,setnx,redlock。
24.分布式事务(不会)
25.zookeeper(不会)
26.dubbo springcloud(说以前写过Demo现在不记得了)。
27.redis集群相关,讲了哨兵,主从,集群,选举Leader,掉线了会发生什么,脑裂,hash一致性算法(讲了虚拟结点),哨兵之间订阅沟通还有一些不记得了。
28.AOP原理,IOC原理。循环依赖。CGLIB,JDK proxy,讲了底层缓存,之间的区别。
其他:个人优势,项目相关。
面试官很友善,面试体验非常好,不会的地方说错的地方会帮我解答。
反问:答的咋样,应该怎么样学习。
#实习##面经##京东##Java工程师#