2023年,相比2022来说,IT招聘这一块总算有所回暖了。目前,许多公司的hc也陆陆续续放出来了。都说金三银四,但是在3月来临之前,基本的准备都应该做好,面试大忌不可贪多,不可无计划。以下资料是帮助我在一系列的面试中发挥的巨大的作用。先分享一波我的面试经验吧,小编19年毕业的,三年多的工作经验。其实有经验的面试官,一般不会上来就问你八股文,如果遇到,一般这面试官水平不会很高。一般对于2年以上的程序员,面试官一般都会从项目入手。我对比了我经历的面试经验,提炼了以下几点,主要还是项目方面的:
文末有干货!
文末有干货!
文末有干货!
一、缓存(以redis为例子)
- redis的线程模型与原理?
- 你们公司redis用来存哪些数据?数据量有多大
- 你们存诸的key值设置失效时间吗?
- 你们公司的redis实例有多少个?(XX主XX从,面试官一般会根据你说的业务数据进行大致的估算你是不是在胡说八道,所以要提前梳理清楚业务数据量和redis村塾的数据容量)
二、日志
你们公司的项目在分布式部署情况下,怎么查看日志,如何定位日志链路?
这里主要考察你们公司是不是真的在用分布式系统,以及基本的日志链路的原理是什么。主要思路是链路追踪+MDC,别看这个很常见,其实很重要,你平常工作如果没有对于的分布式日志查看系统的话,工作效率会非常低。
三、项目监控
你们公司的项目是通过什么进行监控的?
这个考察的其实也是你的项目经历是否属实,程序员写代码不能只考虑代码层面,系统的高可用,稳定性也很重要。这里你要梳理常见的系统监控工具,比如SpringBoot Admin那一套,或者其他比较优秀的工具。
另外,这个系统你还要真正地去掌握它,尤其是JVM原理,很多人以为JVM不重要,恰恰相反,他很重要。如果对JVM模型中每个区域存储的对象都不知道,也不知道怎么定位线程,进程,死锁这些信息,那么实际工作中会很痛苦。有经验的人他回去梳理一下,这玩意本身不难,就看你要不要去记一下。
四、你觉得微服务和普通的单体项目有什么区别?什么时候用微服务好一些?
考察你的思考深度,自己认真思考总结一下,一般是围绕业务体量来说。
五、MySQL
- MySQL数据库的索引(一般就是B+树,要掌握它的原理以及跟其他索引的区别)
- 怎么查看慢SQL,优化的方式有哪些?
- 索引失效的情况有哪些?
- 怎么建索引?
- 常见的锁有哪些?
- 日增数据量较大的情况下,你们怎么进行分库分表?
六、JAVA八股文
不要贪多,找一个比较全的,系统理解─下再记住即可。
最后赠送一个我用的比较全的八股文,注意,理解为主。
关注公众号"开源圈",回复"bb001"即可领取!