人生第一次跳槽总结

从学校出来,参加人生的的一份工作——PDD Java后端开发,迄今为止,已有一年半的工作时间。在 PDD 工作期间,有开心的事,也有悲伤的事。但不管怎么说,这一年半时间,不管是技术能力上,还是待人处世上,都有了很大的进度,感谢 PDD 的栽培。

换工作原因

想要更换工作,提升自己的能力以及提升涨薪的速度,具体缘由就不细说了。

跳槽准备

既然已经打算跳槽更换工作,那就需要为面试做好充足准备,很多知识点,平常并没有使用到,如果不及时复习,面试过程中能回答出的概率几乎为零。所以一定要提前准备刷面试题。

接下来说说,我在跳槽准备中,具体从那几块内容去着手进行复习的。

  1. 数据结构与算法,大公司不管校招还是社招,面试过程中都会有算法题。有的需要在线coding并且能够运行所给的用例;有的直接说解题思路就行。
  2. Java语言相关的知识,比如面向对象三大特性,集合类的底层实现(必问)。
  3. 多线程相关的知识,比如 AQS ,线程池,Synchronized 与 ReentranceLock 等工具类的底层实现。
  4. JVM 相关的知识,好好看书《深入理解Java虚拟机》基本没问题了。
  5. Java Web相关,Spring 的 IOC 与 AOP ,以及 Bean 的生命周期,Springboot 的自动配置原理;Mybatis 的实现原理。
  6. 数据库:MySQL知识点主要就是索引相关,以及事务隔离机制实现。
  7. 中间件:缓存(Redis),消息队列(Kafka),RPC(Dubbo)。中间件的具体代表,取决于工作项目中实际使用的技术栈,我个人之前专研较少,只会这些,如果你能对这些功能型中间件,可以横行比较,介绍其具体实现区别以及针对的场景,那更是锦上添花。
  8. 计算机网络,主要是 TCP 与 UDP 以及 HTTP 三种协议相关的知识点(补充 HTTPS)
  9. 设计模式
  10. 工作项目准备

其实,对于 Java 后端岗面试题型,网上已经有很全面的归纳知识点体系了,就看你自己愿不愿意花时间是学习或者复习这些知识点。

我是直接从 GitHub 的开源仓库 clone 下来,总的来说,这个知识点体系梳理的很全面,但就是太全面了,所以很多知识点其实就是一个入门级的介绍,大部分是浅尝则止,所以如果想要了解底层实现原理,还是需要自己去查阅资料,最好是直接查看源码,然后 debug 走一遍。

下面的截图就是我重新梳理和补充的所有知识点,这里就先不做分享了,主要是因为,里面很多我补充的细节,文档书写的还比较粗糙,处于我能理解的状态;而有些是从网上聚合而来的,我就是大自然的搬运工。等我后面有时间重新梳理这些文档,并且能够确认描述的知识点无误再分享出来吧。
在这里插入图片描述

这样做,虽然比较消耗时间,但可以理解的深刻。文字性描述终究是概括性的语言,思维容易跳跃,毕竟介绍原理时需要忽略细枝末节,所以有时候经常看博客,对于某个知识点的分析,会突然无法理解,因为文字前后没有很直接的关联。而看源码就能从头到尾,连续的阅读理解具体实现的逻辑。总结我想说的就是,最好直接看源码,很多源码写的真的很优美,感叹经常还能这么实现?比如 ConcurrentHashMap 的源码写的叹为观止,有兴趣的同学去看看。

面试过程

从 2021-01-13 开始第一份社招面试,到最后一份社招面试 2021-03-02,可以看到中间横跨差不多整整两个月,原因有三:

  • 一是处于在职状态,很难安排面试时间,尤其是要求现场面试(本城市的公司),或者要求视频面试,肯定是要使用电脑写算法题,所以必须在家视频面试。
  • 二是,我因为第一次参与社招,然后前期准备也不是太充分,所以刚开始并没有投递大公司,阿里抖音快手基本是二月份开始投递。
  • 三是,中间还有春节假期,否则进度会快一些。

面试公司(按投递顺序):

  • 叮咚买菜
  • 哔哩哔哩
  • 携程
  • 小红书
  • 抖音
  • 阿里
  • 快手
  • 美团

投递方式有三种:

  1. boss直聘上投递感兴趣的公司岗位
  2. 脉脉上猎头推荐的公司 or 招聘 HR 直接联系(但我没有把简历发给猎头,因为网上说,猎头经常会没经过你同意把简历推给符合招聘岗位的那些公司,相当于投递公司以及投递时间不可控,有些公司简历是会有冻结期的)
  3. 朋友内推(如果可以,最好让朋友内推,内推好处就是:可以直推到指定岗位,简历筛选,只要简历不是太差,一般hr也会给你面子,让他进入面试环节;另外也可以直接能跟进你的面试过程,有时候,可以让内推人帮忙问hr当前是什么情况)

面经详情,可参见 [ -> 面经链接]

面试结果

发放 offer 的公司如下:

  • 哔哩哔哩
  • 携程
  • 抖音
  • 阿里
  • 快手

总的来说,面试过程比较顺利,没有遇到太多挫折和打击,

最终选择

综合考虑之后,选择了快手。缘由就是两个:个人发展(包括部门所属业务的前景),薪资待遇。拒绝真是一个纠结、难受的事情!

总结

整个找工作的过程中,有几点经验之谈。

书到用时方恨少,事非经过不知难。如果平常多看书,基础知识扎实,跳槽就不需要花费太多精力去准备了。但我工作后,自己很少主动专研源码,只有遇到问题时,才会或多或少看源码,所以这次跳槽准备耗时长。leetcode没有坚持刷,中间件源码也读的少,只能历史抱佛脚,但这段时间阅读源码给我带来了很大的收益和成长。日后一定坚持学习!把学习划分到平常的点滴积累中,日后终能汇聚汪洋大海!

面试准备,一定要专心准备。面试过程是很消耗时间和精力的,最好争取面试都过,并且只面自己想去的公司。当然,只投递自己想去的公司,那必须有足够的把握能面试通过,这种自信就需要你自己评估的面试准备的充分程度了。我对自己的能力的不自信,所以只能通过多面试公司,增加实战经验来累积自己这方面的自信。

社招的话,最好是拿到offer之后才申请辞职。我在拿到B站和携程 offer 之后直接提离职了,但这时候我其实还在面试中,当时是阿里、快手都过了一面,抖音过了二面。这么快提离职的原因,主要是考虑到,原公司对于开发人员辞职后,基本都需要一个月的脱敏期,这期间不能入职下一家公司,因为还没给你离职证明。所以我就想,反正还有一个月时间,有足够时间进行接下来的面试,并且就算这三家没有面试成功,也有B站和携程兜底。然而离职进展超出我的预期,两个星期就拿到离职证明。这时候我还在等这三家的hr面…… hr面后,三家的评估我的面试结果和薪资待遇又过了一周。我又要了几天时间考虑接受哪个公司的邀请,跟该公司确认之后,该公司的 hr 还要申请offer,最后是商量入职时间。从离职到入职下一家公司,导致中间出现一个月左右的未工作的空窗期,血亏一个月的工资,并且在此期间,我担心口头offer的不稳,还不敢离开上海出去玩。一言难尽啊。

如果拿到多家公司抛出的橄榄枝(offer),不同公司发放offer的时间,肯定是有先后关系的。最好是等所有面试结果都出来之后,再做决定,不要感觉愧疚。提前拒绝offer,这样对自身来说,有很大的风险,我就是前车之鉴(但幸运的是,我赌自己赢了)。其实换位思考,从公司角度,也是一样的,你符合岗位要求了,但不是特别满意,那就先不给明确答复,后面有更好的候选人那就替换你,没有的话,就选择你。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值