熙牛医疗 一面面经
1)自我介绍
2)List、Set、Map 的差别和各自的特性
3)Set 底层是通过什么实现的?
4)Map 中的 key 可以为 null 吗?
5)Hash 冲突常见的解决方案有什么?
6)介绍一下泛型
7)介绍一下 JVM
8)程序计数器用来干什么的?
9)Java 堆中被分为三个部分(新生代、老年代、永久代),说一下他们之间的关系(不会)
10)有没有用过一些工具去研究过 JVM 这一块(答了 Arthas)
11)说一下 Spring 的 IOC
12)Mybatis 的实现原理有了解过吗(不会)
13)MySQL 的四个隔离级别
14)幻读和不可重复读的区别
15)MySQL 怎么解决幻读和不可重复的?
答:将隔离级别提升为可串行化、加表锁、加间隙锁(面试官说不是,涉及到 MVCC 多版本控制的知识)
16)MySQL 的读锁和写锁
17)MySQL 的悲观锁是基于什么实现的?(不会)
18)避免索引失效的几种场景(这里把索引失效的场景反过来答的)
19)说一下模板模式
20)BIO、NIO、AIO 三种 IO
21)讲一下项目中的难点或者说复杂业务
22)平时是怎么学习技术的?
23)自己的优缺点说一下
24)作为一个实习生,分配给你一个需求,你会怎么去做呢?
25)写完需求之后怎么去做测试呢?
评价:
面试官人挺好,答不上来会给提示