秋招上岸大厂,说一说自己的经验
网关项目
很多人读了我的《秋招上岸大厂,分享一下自己的经验》这篇文章,来问我,你面试的时候都用什么项目?你的八股都是从哪里学的?你的项目场景是什么样子的呢?
这里我一个个回答。
我面试用的项目,首先是网关,在我入职字节的时候,我们的第一个需求就是两个月内写出一个可用的网关,所以那个时候我就花了很多时间去学习并且调研网关。
在java中要想开发网关,我第一个想到的就是springcloud gateway,因此我去学习了他的源码,好在我之前有相关的gateway的使用经验,所以上收起来比较快。
在大概了解完毕springcloud gateway的开发方式,设计思路,使用到的技术栈之后,我就开始去补充自己的知识了。
我首先花了两天时间快速的学习了一下netty,知道netty的大概用法之后,我就开始着手设计一个比较简易的网关底层代码了,因此,你在我github上看到的那个项目,其实也就是我当初设计出来的一个简易的网关项目。
当然,这过程中需要不断的参考许多良好的设计实现。
对于网关项目的开发,其实我认为在技术上的难点并不多,并有没非常复杂的业务逻辑需要去构思记录,更多的是对架构设计上的考验,因为毕竟这是中间件类型的项目。
好的,回答完毕项目问题了,回答一下我的八股是如何回答的。
嗯,首先呢,其实我面试的公司,大部分都不是很侧重八股,重心一般是放在项目上的。
八股基本问的就是mysql和redis,还有jvm,jvm问的比较多的就是垃圾回收,各种gc之间的区别,优缺点,mysql和redis一般问的就是高可用,数据同步,数据一致性等。
而这些常见的八股只要花点时间大部分都比较好解决,mysql我专门学了《mysql45讲》,所以问题不大,redis我也购买了《redis设计与实践》,所以问题也不大。
回到项目,大部分面试,被问到的都是具体的项目流程,基本必问的就是线上遇到的生产问题我是如何排查和解决的,这里我举例的是rocketmq的消息堆积的排查和解决,因为这个问题非常常见,所以每次一问,我基本都能非常流畅的答上来,还是比较加分的。其次就是你是否解决过真正的数据一致性问题,以及你是否研究过分布式事务,分布式锁等。
问的多了基本就熟悉了,套路都哪些,所以问题不是很大。
我会把这些我面试的时候我常用的回答变成笔记,然后每次他问我,我就直接回答我笔记里面的内容,基本就是百试百灵,所以从秋招开始到结束,我目前还没有挂在技术面的,hr面挂基本就是薪资没谈合适了。
不过也很可惜吧,不知道是学历还是什么原因,很多我想进的公司依旧没有给我面试的机会,让我还是感觉有的遗憾的。
不过那些公司可能?工作时长比较长?
我秋招上岸的公司1085,我觉得还是比较舒服了,薪资也很高。
目前也就回答这么多问题,如果有兴趣加入我的知识星球的,可以github搜索blossomgateway来加入我。
如下是大纲
如下是目录