#美团面试经验#【Java工程师面试都会问哪些问题?】
一面:
1、简单介绍一下自己
编程题:
(1)二叉树的最近公共祖先(leetcode 236)
(2)二叉树节点间的最大距离问题
时间预计控制在 15-20分钟
2、StringBuffer 和 StringBuilder 的区别有哪些?
3、HashMap 是怎么实现的?怎么计算存放的位置?
4、怎么保证 Map 是有序的?
5、HashMap 是线程安全的?怎么实现线程安全,有什么方法?
6、ConcurrentHashMap 在 1.8 之后还有加锁吗?
7、跳表了解吗?简单概括一下。
8、对 JVM了解吗?
9、我们以 JDK7 CMS + ParNew 这个垃圾回收器为例,整个过程是怎么样的?
追问:我们怎么判断哪些对象该回收? GC Root 包括什么内容?
10、新生代某个对象被老年代引用,在新生代 Minor GC 的时候,怎么判断新生代这个对象是存活的或者说是被引用的,因为只能扫描新生代,不应该去扫描老生代对不对?
11、说一下你使用过的 sql 优化都有哪些?
12、MySQL 锁的类型有哪些?
13、说一下间隙锁、索引种类。
14、假如一个普通索引,是什么样的数据结构,叶子节点存的是什么?为什么存的是 ID 而不是地址?
15、项目相关,讲一下单点登录。
16、你对北京都有什么看法?
17、介绍一下自己部门(风控)。
18、对自己的评价。