常见java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做。
(为保证内容纯正,下面的语言是由程序员Y自己整理的,霸哥没有任何改动)
面试主要是从一个系统设计出发,考察基础跟项目架构经验。美团相当重视基础问题(计算机网络、操作系统)
主要是围绕一个系统优化来的,下面就只写中间问的几个点:
1、项目介绍(聊一下自己做的项目,互相了解了一下)
2、redis相关问题
3、mysql相关问题
4、rabbitmq
5、并发编程相关
6、接近一个小时的计算机网络基础、操作系统基础
7、JVM相关
8、手撸算法题两道
正儿八经的面试了…
1、再来一个场景,优化mysql,具体步骤,什么命令,怎么操作,比较详细
2、redis分布式锁的作用?什么场景用过?会有什么问题?(原子性的问题、误删锁、误得锁等等)怎么解决这些问题?(面试官提了几个场景,这块聊了半个多小时)
3、详细聊了rabbitmq的工作流程。介绍下rabbitmq的组建,分别有什么类型,具体是怎么用的?口述代码
4、redis高可用
5、聊聊你了解的RPC,dubbo与springcloud?我因为没做过微服务项目,因此,问我,你觉得应该有什么功能,我从springcloud的角度回答的
6、RPC与mq技术选型,说下原因
7、Spring源码,我讲了事务的源码(撸了好几次了,比较熟悉)
8、手撸算法题两道
9、聊实习时间、地点,未来发展
这个5min很关键了↑
HR直接给录用函
谈笑风生…聊薪资,工作地点,还有一些要录入系统的基本信息,留了电话
无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。
戳这里免费领取以下资料
621401008235)]
[外链图片转存中…(img-Z2ksI0q7-1621401008238)]
[外链图片转存中…(img-E8g4WTib-1621401008240)]