美团面试

詹学伟
詹学伟
发布于 2024-04-24 / 3 阅读
0
0

美团面试

美团A部⻔门⾯面试过程汇总

⾯试⽅式: ⽜客⽹视频链接,因为可以⼿撸代码 ⼀般职级越⾼,技术⾯试轮次越多

3-1以下应该是三轮技术⾯

3-1通常四轮技术⾯,⼀、⼆轮技术和项⽬负责⼈⾯,三、四轮是交叉⾯或部⻔

领导⾯,五⾯是HRBP,六⾯专职HR谈薪⽔收到offer后接受开始背调,⼀般需要5个⼯作⽇背调结果给到公司,联系⼈及⼯作时间必须准确⽆误。

3-2以上据⾄少五轮技术⾯,没这待遇啊。⼤体这样,当然每个部⻔安排顺序不⼀定相同。因为是两个部⻔都做了⾯试,⾯试官⻛格也不⼤⼀样。

【美团A部门一面技术】

1、JVM如何优化的?CMS算法执⾏流程?什么情况下发⽣的Full GC?

2、分布式事务讲⼀下?结合项⽬想讲的可靠消息⼀致性实现⽅案 + 最⼤努⼒送达通知⽅案,最后也提到了单应⽤多DB(JPA)、TCC事务以及适⽤场景。

3、ES是如何调优的?副本机制作⽤?写⼊doc操作执⾏过程?

4、其他也都是基础问题,印象不是很深刻了。

【美团A部门二面技术】

1、将最近做的两个项⽬详细讲解 + 现场画出整体系统架构图并结合架构图讲解+ 设计模式类图

我是拿了⼀张纸,画出来然后对着电脑屏幕开讲,这⾯试画⻛可以想象⼀下哈,⾯试官隔着屏幕看。

2、因聊的项⽬时间⽐较⻓,也因为电脑快没电了,所以接下来⼏道技术题他出完我很快回答出来了。

3、MySQL数据库底层实现结构?B+树结构,也讲了数据⻚,以及⻚⽬录相关的

4、Spring Bean循环依赖如何解决的?

5、MyBatis⼆级缓存如何实现的?

6、有个项⽬⽤的分布式缓存是CouchBase,要求讲下CouchBase基本原理?

7、RabbitMQ如何保证⾼可⽤的?queue数据在节点之间如何同步的?死信队列

如何实现的?

技术回答的很快,最后丢⼀句「等HR电话」,我是有点懵逼,难道都该聊到hr

⾯了,这不才2⾯技术⾯么。

因为电脑⻢上没电了,没有多问,已经聊了⼀个半⼩时了。

后来才知道,是等HR电话通知我约下⼀个⾯试官啊。。。果然是好久没⾯试

了^_^

【美团A部门三面技术】

讲解了项⽬的从客户端到后端的具体流程。主要问了⼀些扩展技术⾯,⽐如Http2都有哪些改进的?Redis最新特性了解哪些?等等吧,总体也不是很难的。

【美团A部门四面技术】

1、⾃我介绍、介绍具体项⽬突出贡献

2、离职原因?业务⽅向如何考虑的? 职业规划?

3、⾼并发与性能的关系?根据项⽬经验⾃有发挥吧,但尽量还是答案宏观⼀点。

4、缓存和数据库⼀致性如何保证的?谈到了分布式锁,那详细讲讲分布式锁实现?redis setnx、redisson、zookeeper

5、项⽬架构中如何做技术选型?

6、有什么要问我的吗?

【美团A部门五⾯面HRBP】

1、为什么要离职,基于什么原因考虑的?

2、你的未来职业规划是什么样的?项⽬中的⻆⾊是什么样的?

3、你认为⾃⼰还有哪些需要提升的吗?

4、你在团队中的绩效如何?

5、有什么需要问我的吗?

美团B部⻔门⾯面试过程汇总

【美团B部门一⾯ 技术】

1、JVM中的CMS和G1垃圾回收算法具体区别?

2、问了两道线程池相关问题,觉得没啥问题了 此时,话锋⼀转,咱们聊聊中间件相关吧 【后来听说,⼈家是有个⾯试⼩模板^+^ 】

接下来开始问中间件相关:

1、Dubbo

1.1 说⼀下Dubbo的具体执⾏流程,涉及哪些模块,作⽤?

1.2 使⽤过过Dubbo哪些特性,做过哪些扩展?Dubbo⾥的泛化有了解过吗?

1.3 Dubbo中的注册中⼼Zookeeper是如何注册上去的?

2、Zookeeper

2.1 Zookeeper节点有哪⼏种类型(临时、持久)?

2.2 如何注册的,如何选举的(选举算法?),

2.3 如何完成监听或者说是订阅的?

2.4 提到了分布式锁,在Curator框架中是如何实现的,watch机制本地数据结构啥样的?

3、Redis

3.1 都⽤过哪些数据类型?分别介绍下使⽤场景?

3.2 持久化机制,AOF、RDB具体区别有哪些?

3.3 Redis 主从同步机制是怎么样的,⽐如slave启动之后同步过程?

3.4 Redis Cluster集群如何选主的?

3.5 Redis Cluster 跟哨兵模式有什么区别吗?

3.6 Sentinel 哨兵模式是如何选主的?这⾥说跟cluster差不多,追问了下,其实还是有些区别的, sdown odown 主观宕机、客观宕机⽅式不太⼀样

4、Kafka

4.1 ⽣产端是如何发送⼀条消息到Broker的?

4.2 具体可以调整哪些参数提升吞吐量?

4.3 消费端发⽣rebalance的过程是怎样的?⽐如有⼀个新的consumer加⼊

到了Group中是个什么流程?

5、⼿写算法

算法题:⼀个链表,输⼊k,⽐如k=3,翻转前3个链表值

【美团B部门二⾯技术】

1、 都是发散探讨性的题⽬⽐如⽤过CouchBase,那你觉得CouchBase有哪些不⾜的地⽅,哪些不够专注的?谈到专注,我也提到了Redis不够专注,因为Redis5.0还提供了Stream作为持久化队列解决⽅案,Redis应该更专注分布式缓存这块,反⽽野⼼也很⼤,还要⽀持类似MQ的功能,并且也参考了Kafka设计思想,所以也不够专注。

2、 ⼿写多线程题⽬:T1线程输出都是A,T2线程输出的都是B,T3线程输出的都是C要求三个线程启动后输出顺序:ABCABCABC

【技术⼆⾯⽼哥是清华的,京东项⽬负责⼈也是清华的,他们两个⾯都有⼀个共同特点,就是题⽬都是⽐较发散的,就是跟你来探讨技术以及实现,由浅⼊深,看看你是如何思考的,为什么这么来设计?有没有什么更好的解决⽅案?】

【美团B部门三⾯ 技术】

部⻔总监⾯,主要聊项⽬,也聊到了Reactor模式。因为已确定去另外⼀个部⻔,没有安排交叉⾯,或者已经有过交叉⾯了,如果决定去这个部⻔也不⼀定会再重新安排了,

交叉⾯⾯试官也不是很好约⾯的,其主要作⽤就是把把关⽽已,其决定作⽤的还是本部⻔的⾯试。

面试前准备&⼩小技巧

1、⾯试前准备

群⾥之前也有⼩伙伴都做了⼤量值得借鉴的⾯经分享了,我也说一下我的面试准备。

基础知识必备:

数据结构与算法(如果不是面头条这种公司,掌握常用数据结构算法就够了)、Java基础、JVM、并发、⽹络&NIO、设计模式

中间件相关:

缓存(Redis为主)、消息队列(Kafka、RabbitMQ、RocketMQ)、数据库(MySQL)、搜索(ES)

分布式相关:

分布式理论(CAP、BASE)、分布式锁、分布式事务、分布式幂等框架&源码相关:Spring、MyBatis、SpringBoot、SpringCloud、RPC(如:Dubbo)、Netty等常⽤框架

架构&容器相关:

微服务架构(架构演进过程)、微服务拆分原则、容器化(了解Docker & Kubernetes)

项⽬经验:

项⽬整体架构(能画出来)、项⽬上下游关系(能将明⽩)、项⽬实现细节、项⽬主要亮点

技术之外:

你有什么要问我的吗?、离职原因?、职业规划?项⽬管理?⾃身优缺点?挫败感的事⼉?⾃身哪些需要提⾼的?绩效怎么样?突出贡献?

这些技能要想深⼊不是短时间内突击就能完成的,需要⻓期做项⽬加上平时的有⽬的性的学习和积累。技术栈⽐较多,我个⼈建议在⾯试前提前准备阶段,通过思维导图的⽅式梳理,对抗遗忘曲线,推荐使⽤ProcessOn⼯具。

2、⾯试时⼩技巧

上⾯尽管罗列了很多技术栈,但是要尽量做到⼏个技术栈能更擅⻓⼀些,⽐如对 JVM调优、并发、分布式等技术都有深⼊实践和研究,或者对某些框架源码深⼊研究,并做过⼆次开发之类的,都是有加分的。

因为⼤家不可能都是样样精通的,也最好别都样样稀松,所以关键夯实住⾃⼰擅⻓的,然后其他技术栈查缺补漏。

同时,在⾯试中开始⾃我介绍后,建议你要有意识的说出你擅⻓的领域、技术栈等。其⽬的也很简单,就是将⾯试官的思路往⾃⼰擅⻓的⽅向引导。不然呢,当⾃我介绍结束之后,⾯试官基本就按照他的套路出牌了,或许你此时会有点被动的~

但是,有的⾯试官也不吃这⼀套,那你就准备应战就好了。某些技术你简历写了,⾯试官正好问到了,但是其实你并不是很擅⻓,或者时间久没有了解的很深⼊,如果追着问,就有点尴尬了?

⼀般⾯试官都是结合你简历问的,很少⾯试官是只问他会的东东,如果真遇到这样的,也是有点尴尬,不⾯也罢!

小结&问题答疑

最后也提醒各位要换⼯作的⼩伙伴,⼤家加油!

1、社招算法:算法虽然在社招里面占据的比重不大(大概10%),但作为基础,也是要准备的。我这次也不是很充分,算法还在平时的积累和练习。

2、思维导图:平时尽量画⼀画思维导图(processon),对抗技术知识的遗忘曲线。

3、技术应⽤:这个是重点,将学到的技术应⽤到项⽬⾥,使你的项⽬看上去更有亮点,更有聊的价值。

4、临场应变:有些题⽬会发散,要提⾼临场随机应变的能⼒

5、技术积累:基础和经验相结合

举个例⼦:有⼀家C轮公司的⾯试官⽼哥,很直接的说我仅出两道题,剩下你来

问我:

题⽬1、输⼊⼀个⽹址⽐如jd.com到底发⽣了什么?请你讲的越详细越好

题⽬2、后端服务如何做性能优化的?讲的越详细越好。

惊不惊喜意不意外啊。。。第⼀个题⽬可以考察:⽹络、CDN、DNS解析、TCP 三次握⼿/四次挥⼿、Http协议。第⼆个题⽬可以考察:DB、SQL(索引)、缓存、Tomcat、JVM上等性能优化等等?

说是两个问题可以扩展出很多个问题,所以要回答的全⾯且到位,也不是那么容易的对吧。当你提到某个技术优化的时候他会详细追问如何做的,这哪是两个问题啊。这家公司也是⾯过了的,也具备⼀定的发展潜⼒,个⼈也是⾮常看好的。

⼆⾯架构师⾯:JUC问的很多,volatile、synchronized、aqs、cas、锁升级机

制、闭锁等等及各中间件原理,反正问的很全⾯。

以上就是我今天的面试经验分享哈,希望能跟正在找工作或者以后找工作的同学有帮助,大家有什么问题可以一起交流,我能回答的肯定知⽆不⾔,谢谢大家!


评论