资料内容:
该在哪些方面准备面试?
我们大部分去准备面试的时候,可能会去看很多的八股文,觉得只要熟练掌握了这些答案,就可以面到很好的薪
资,找到理想的工作
但是其实不是这样的,八股文只是你的 基础能力 ,稍微有一点水平的面试官都不会去像一个提问机器一样,一道
一道题去问你,而是希望通过对话去了解你对项目、对技术的看法,以及你解决问题的能力, 因此需要从面试底层
的思维去了解面试,再针对性的学习,才可以有一个比较好的效果!
你可以这样想一下,假如你是面试官,你会怎样去考察面试者的一个综合能力呢?作为面试官,你肯定知道面试者
背了许多的八股文,所以八股文只是你去找工作要过的第一关,接下来,面试官会通过某一个具体问题,一点一点
追问细节,以及生产中所需要的一些问题,通过这些才可以真正看出来你是否真的掌握了这些积能,以及你在做项
目中,是否有自己的思考!
接下来,从 5 个方面来说一下去面试的话,需要从哪几个方面准备
首先是 技术广度
因为面试官招聘你,是需要去做项目干活的,那么首先你的技术栈必须要匹配到公司的技术栈,并且到公司可以直
接上手做项目,而不是再从零去培养,因此会先考察技术的广度,判断你都了解学习过哪些技术就比如 Redis 用过吗?项目中哪里用到了 Redis 呢?原理了解吗?集群部署?高可用原理?单线程高并发的原理?
Dubbo 用过吗?底层原理?用在项目中是做什么?
RocketMQ 用过吗?为什么用呢?那里引入了?底层原理?遇到过消息丢失的问题吗?集群部署?高可用如何保
证?
还有就是基础的 JVM、数据库(事务、索引、sql 优化、锁)、并发方面的内容
如果这些都答得比较好的话,证明这些技术是掌握了的,那么招你来工作基本可以直接上手,一般薪资在 10-20k
之间
第二点是 项目经验
通过项目经验一般就能看出来你做项目中有没有自己的一些想法以及思考,项目经验方面通常会问你学到的各种技
术是如何结合项目进行落地的,以及落地之后碰到的一些实践中的问题,如何解决,有没有对项目做过一些优化之
类的?
比如说你学了 RocketMQ,那么你在项目中怎么去使用 RocketMQ 了呢?具体在那些场景下引入了 RocketMQ,不引
入的话会有什么问题呢?
如果使用 RocketMQ,碰到消息丢失了怎么处理呢?消息如果大量积压怎么处理呢?
如果使用分库分表,那么核心的表每天新增了多少 GB 的数据呢?目前表中已经有多少的数据了?什么时候分的
表?什么时候分的库?
在分表之前,SQL 性能是怎样的呢?分表之后 SQL 性能提升了多少?
分库之前每个数据库上放多少 GB 的数据?分库之后拆分到了几台数据库服务器上去?每台服务器存放多少的数据
呢?
像这些问题,在自己学习的时候可能就忽略了,并且缺乏一些自己的思考,以及由于是自己学习的项目,确实没有
碰到过这些场景,因此对于这些 细节性 问题,一定要去多查一些资料,提前准备,多思考!