For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
美团作为大家日常生活中离不开的企业之一,能够进入美团工作,是一件非常有成就感的事情。本文大连达内IT培训为大家介绍面经分享:美团Java开发面试题。
1、实习经历
2、object类有哪些方法,hashcode,equals,clone,notify,wait。问我hashcode用在哪,说了hashmap
3、hashmap的结构,1.7和1.8有哪些区别,除了红黑树优化以外还有哪些改进,说了扩容时头插法改尾插法。
4、开始问我头插法和尾插
法的区别,头插法在多线程时会出现什么问题,我说的是扩容时的死链,后来引导我说了并发插入的数据丢失问题。
5、concurrenthashmap的实现原理,1.7和1.8有什么区别,分段锁,synchronized和cas操作。
6、cas操作是怎么实现的,为什么是原子性的。wait和notify方法用在哪里,wait和sleep的区别,notify后面的代码会不会运行。
7、synchronized和lock的区别在哪里,使用方式上有什么区别。lock的trylock方法做了什么,我说了cas操作和加入阻塞队列,以及公平锁和非公平锁的区别。
8、你的项目用到countdownlatch,为什么要用,有什么问题,如何监控这个问题。
9、线程池用过哪些,线程池有哪些参数,然后问我几个常用线程池的用法和实际场景问题。
10、cas操作是哪个包里的,volatile变量用过么,有什么作用,原理是什么。i++是不是原子操作,为什么。
11、ArrayList和linkedlist有什么区别,如何遍历,使用for循环遍历linkedlist为什么不行,linkedlist能使用索引访问么,使用迭代器呢。
12、JVM内存模型介绍一下,堆区怎么分代,分代垃圾回收算法说一下,老年代使用标记清除有什么问题。
13、说几个垃圾回收器,cms回收器有哪几个过程,停顿几次,会不会产生内存碎片。老年代产生内存碎片会有什么问题。问我有没有做过JVM优化。
14、jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题。我说分配大对象可能引起full gc。
15、哪些情况会触发full gc,full gc是否包括young gc和major gc,如果只包括这两个,为什么要特地做full gc,我回答的是full gc还会回收方法区和堆外内存。
16、Java中有哪些引用,分别有什么用。
17、Spring的ioc和aop说一下。
aop记录日志,什么方法需要记录日志呢,增删改查都要么,我说前三个要把。他说那么如果有多级调用的rpc查找操作是不是也要记录日志,我说那是的。
18、分布式用过哪些技术,我说自己跑过一些demo,问我zookeeper有什么用,然后问我dubbo里的zookeeper是做什么的,我说服务注册中心。
19、服务注册中心实现什么功能,消费者的本地缓存如果失效了怎么办,我刚开始说多次失败重新拉取,他说这样不行吧,我就说让生产者和注册中心维持心跳,失效时删除该节点并且更新消费者缓存即可。
20、MySQL用的挺多,问你一下,innodb的b+树索引,主键索引,聚簇索引有什么区别。