总结-面试感悟

基础(八股文) + 项目

项目很重要!
面试官招人肯定是想找有潜力的,那么如果你只会背八股文,怎么从那么多面试者中脱颖而出呢?所以一定要好好投入一个项目,对项目不停缝缝补补,并进行优化,这个目的就是让我们更熟悉自己的项目

简历中的项目一定不要只写完了就放在那里不看了,多完善多总结,去优化项目,可以向着可用性这一方面进行优化,面试官招人,考察的除了基本的八股文以及一些框架内容,这些都是自身的硬实力,面试官还需要清楚你的软实力如何,也就是你对简历中的项目的投入度?了解程度?项目中遇到了哪些难点?存在哪些亮点?未来有哪些优化的地方?这些在介绍的时候,就可以给完整介绍一下,可以自己带着面试官向自己想要的方向去,而不是被面试官主导

介绍项目的时候,其实面试官听完介绍就知道你对这个项目花费了多少心血,那么我们更应该在项目上多花费精力(尤其是项目介绍以及亮点),因为这是除了八股文硬实力之外,我们唯一能让面试官眼前一亮的地方(如果还没有比赛经历的话)

那么你可能会想,我的项目都是增删改查,没有亮点,我怎么去介绍?当然也没有难点,有难点的话,我哪还能做出来?造成这个想法的原因是对技术了解过少,可以多看看美团、百度等大厂的一些开发团队发的文章,其实项目中面临的难点还有很多,可以从可用性、性能来进行入手,比如说在项目中进行一些操作,那么某些操作执行速度很慢,返回给用户响应的时间就长,那么我们为什么不把这些操作给改为异步操作呢?那么改为异步操作之后,如果有些很重要的任务执行失败了,我们怎么去兜底呢?在数据库中设置一个表,记录任务执行状态,可以使用定时任务去扫描这个表,重新执行该任务?那么定时扫描的频率该怎么设置呢?如果一直重试都失败又该怎么做呢(设置重试阈值,如果超过阈值,就进行告警,人工处理)?

那么可用性方面来说,比如说我的项目是自己手写的一个 rpc 框架,提供了服务发现、服务注册、负载均衡的一个功能,那么如何进行服务发现呢?我是通过 zookeeper 来做的,那么服务注册之后,在 zookeeper 中是以临时节点还是持久节点呢?如果有 rpc 服务下线了之后,我们怎么来维护 zookeeper 中的节点呢?我们可不可以把客户端和服务端之间的通信进行池化操作呢(客户端和服务端建立 TCP 连接之后,将连接通道给维护到本地内存,那么下次就不需要重新建立连接了)?

这是项目优化的一些方面

最后就是项目细节的地方,项目中使用到的任何东西,你都必须要知道底层原理,我举个例子,项目中使用了 jwt token,那么 jwt 的一个原理是什么样呢,他的结构你了解吗?使用 guava 的 RateLimiter 限流器,他的原理你了解吗?我看你项目中用到了 Dubbo、Zookeeper,原理你了解吗?这些都是很细节的东西,面试官不一定会问,但是必须得会,否则就成了面试中的漏洞

你可能感兴趣的:(面试总结,面试题,面试,职场和发展)