前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >美团Java面经

美团Java面经

作者头像
牛客网
发布2018-09-20 13:45:23
8190
发布2018-09-20 13:45:23
举报
文章被收录于专栏:牛客网

没有一点儿疯狂,生活就不值得过。听凭内心的呼声的引导吧,为什么要把我们的每一个行动像一块饼似的在理智的煎锅上翻来覆去地煎呢?——米兰·昆德拉《不朽》

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+树索引,主键索引,聚簇索引有什么区别。

21 MySQL里有哪些锁,行锁表锁,乐观锁呢,我说了版本号和MVVC,开始问我MVVC。

22 事务的实际场景问题,两个事务,一个查一个新增,问能否查到新增的,我问他隔离级别,他说RR。MySQL的RR避免幻读,所以读不到新增数据。

23 MySQL的死锁怎么产生的,举了两个例子。

24 三个事务,两个加读锁,另一事务尝试删除,应该是不行的。

25 两个事务,一个写提交,另一个能不能读到,可以读到。

26 大概就是这些了。

点击作者姓名与作者大佬交流~

作者:匿名_

来源:牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.09.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档