美团金融服务-技术平台(支付)(9.9进人才库)这是遇到过最好的面试官,60分钟有50分钟是他在讲:开头面试官先介绍部门,然后说他的面试希望是探讨思考的方式,他说的也不一定对,希望一起探讨,不是背诵的形式。1.Obejct有哪些方法,具体的场景。我说的不全,他就引导我,举例子,然后引出HashMap,hashcode也是Objct方法。引导到一个class sdudent类有set,get方法,直接System.out.println(student)输出是什么,是地址,所以要干嘛,我说序列化,他说转成字节码形式,所以可以toStrring()就是Object方法。2.回到刚刚说的HashMap,是什么结构,然后get、put、remove哪个方法时间复杂度高,引导我想到put到最大容量时要扩容,要重新hash分配,所以put方法比较复杂。hashcode计算的过程,为什么容量是2的n次方,为什么与2的n次方-1与运算,扩容的过程是什么,我不会的地方,面试官给我讲解,详细的推了上面这些问题的原理流程,这一块内容花费35min,像一个老师一样去引导我,拿具体的数据去推理,很感动!3.看到我写了DDD,介绍一下DDD主要解决了什么问题,为什么这么分层,我说了我的理解,不太对的地方他又引导我,为什么要domain层定义接口,基础层去实现这个接口呢,他又介绍了一些例子给我听,这一块接近15min4.介绍一下你实习或者项目中redis用来做什么,缓存不一致你会有什么方案,回到我的项目上介绍一下redis扣减库存,不一致的时候怎么办,setNX兜底是什么意思,我说的不太好,他思考了一下然后总结了我的意思和方案实现,我卡壳的地方他帮我去总结阐述我的方案实现。5.智力题,放硬币先手怎么保证一定赢,我想了几分钟不会,他还是给我推理了一遍,正方形里面每个点都有对称的,只有中间一点找不到另一个对称点,所以放中间一定能赢。他很耐心的讲解,真的超赞。6.手撕反转整数,超int范围的输出0,我没有实现超范围的输出0,用的StringBuilder去做。反问:1.我先是感谢他今晚给我讲解,很多内容都很通透,受益匪浅,收获很大。2.对我学习的建议?他面试选人是看思考跟理解,不看背诵那些八股文字(起码对他来说这样子,别人不清楚),从中思考为什么是这样子的,比如线程池,学习这个东西去思考里面的底层流程,包括参数,为什么这么设置,为什么参数是这样子的,为什么线程池队列有那几种,分别用在什么地方。一切的技术是为了业务服务,学一个技术应该去思考用在什么业务场景。3.对应届生的选拔,他就是看思考的深度,理解的深度,不是看广度,他面试的时候问的东西不多,不是通过广度来选人,应届生经历没有那么多,大家都是学生过来的,所以他觉得应该学东西要深入,对一个东西更多问为什么,不是怎么做。先弄清楚为什么,再去想怎么做,这是最重要的。4.最后再次感谢他对我的建议跟讲解,我从中受益匪浅,不官结果如何,很感谢您今晚能对我的这么多慷慨讲解。#美团##美团一面挂##软件开发笔面经#