9月20日美团Java后台两面面经

面经发出来,求个好运气。

一面
1,你说你熟悉数据库,索引的实现?
2,B树和B 树的区别?
3,HashMap原理?那说说下ConcurrentHashMap的实现。为什么resize的时候多个线程会加入这个过程?
4,ArrayList呢
5,你平常还看过什么源码?答AQS和Lock
6,你通过看源码对你平常写代码有什么可以借鉴的?
7,你看源码是为了应付面试吗?
8,如果让你设计一个消息队列你会如何考虑?你如何保证多个机器间消息的生产和消费的同步?答用一台机器保存每个消息的标识号,每次生产和消费消息要到这个机器注册,注册的过程在一台机器上可以保证同步。如果这台机器挂了呢?答用一台备用的机器。备用机器如何恢复消息队列到原先的状态?答两台机器主从复制。如果消息队列的机器挂了,消息怎么办?答可以持久化。持久化失败呢?如果你设计的消息队列一切正常如何提高效率?答可以借鉴tcp累积确认的方式将注册操作累积注册。你觉得你设计的消息队列有哪些问题?答效率和安全问题。
9,有什么要问的?答美团在上海的业务主要有哪些?
[总结]  女面试官人很和蔼,一直追问我,答不出来笑而相视。

二面
1,进程的结构。答不知,说了我对线程和进程的认识。
2,说说class文件加载到虚拟机的过程。加载验证准备解析以及初始化。
3,说说Java虚拟机运行时内存区域,哪些地方会发生OOM?
4,有哪些垃圾回收算法?说说标记清除。
5,说一下tcp四次挥手。用标准术语说出每次的状态,以及报文段的标志位。
6,解释一下left join。出了一个数据库题让我写SQL语句。
7,数据库连接池的的结构。答可以借鉴线程池的思路,说了一下线程的保存方式。这里面试官没理解我的意思。后面反应过来说可以用队列保存连接请求,数据库连接不断读队列。问你这个很浪费连接资源,答可以根据队列任务的多少创建或销毁连接。那这个连接池应该会有哪些方法,答获取连接,初始化池子,销毁池子的方法。
8,说说spring的ioc和aop。可以给final类生成***吗?
9,spring中常用注解?component和service注解的区别?
10,智力题?有一堆桃子,一个猴子一天吃一半加一个,第十天还剩一个,问总共有多少个?面试官离开一会回来提示说用递归。答假设有n个桃子...被打断
11,有什么要问的?
[总结]   二面面试官表情很严肃,可能我太渣了吧。

#美团#
全部评论
2面面试官有没有让你等3面。 我明确问了他有没有三面, 他说有 但是没消息
点赞 回复 分享
发布于 2017-09-20 21:09
同为二面等消息
点赞 回复 分享
发布于 2017-09-20 20:39
你这几个问题跟问我的有点相似,不过这些问题都是压在一面里面了。。。
点赞 回复 分享
发布于 2017-09-20 19:03
什么岗
点赞 回复 分享
发布于 2017-09-20 18:53

相关推荐

不愿透露姓名的神秘牛友
02-25 17:03
点赞 评论 收藏
分享
Beeee0927:正确的建议
点赞 评论 收藏
分享
评论
点赞
59
分享

创作者周榜

更多
牛客网
牛客企业服务