最近换工作,先说结果吧,拿到最高的是的年薪40+,权衡之后选择了腾讯offer,其中也有要23k觉得要多了的,主要是上一家base太低了,有时候自己都不敢要太高,现在想通了,我来面试,通过了凭什么要拿上一家的base来压我,说出来不怕笑话在上一家年薪21+,哎,一言难尽。
回想起从毕业到现在也4年了,当初毕业的时候不是Java开发也不是计科出身,也没参加过培训班(我个人非常反感培训班),只因偶然的实习走上Java开发这一条路。大学没有好好学习,参加工作以来,也是走过一些艰辛的道路,回想大学刚毕业那会,错过了校招,拿到学位证后来了广州。
毕业后花了两个星期,找了一个做期货交易系统的公司做了廉价劳动力,当时试用期工资4.5k,转正后5.3k。在这里用的是Java语言开发,用的框架是SSM,这里早上8点50打卡,下午5点半下班,加班需要提申请,所以基本不加班,午休两个小时。
这里的工作主要是维护一个开户模块,可以理解为用户注册,只是这个注册会稍微复杂一点,系统是早就做好的,改动也非常小,记得有一个月都没有写过一句代码,当时,在这里大部分是时间是看书,在这里我看完了《Java编程思想》、《Java并发编程实践》、《Effective java》接触的框架东西少一些,数据库基本都是用到才去查。
工作半年后,忽然觉得,这就是我未来的生活吗?想出去了,但是怕出去了简历会黑。没想到的是,8个月后,公司受政策影响,业务收缩,公司裁员,大多数毕业生首当其冲成了第一批优化人员。据留下来的同事说,最后基本只剩下20%左右。当时感觉很沮丧,虽然自己想辞职但是现在被裁员,感觉自己能力不被认可,现在才觉得,年轻的时候根本不需要怕裁员,特别是自己本来就要打算走的时候,拿着N+1走,岂不是美滋滋
在这里主要的收获主要是了解了在实际开发过程中的流程,从产品的需求提出->技术评审->设计->开发->测试->部署->维护一整套流程的熟悉。还有就是spring mvc框架的使用,以及看的那几本书
找第二份工作的时候,想来深圳,因此当时人在广州,那时候还不流行电话面试,很多面试都要现场面试,所以每次都是早上坐车从广州到深圳然后去面试。第二家工作的公司是一家做互联网金融的公司。
第一阶段,刚进技术团队的时候做的工作是将一个外包系统从外包公司手中完全接手过来做二次开发,整个过程压力也比较大,很多人都应该知道外包系统问题很多。日志不规范,很多重要的信息没有打印出来,导致出问题的时候多半靠猜然后去验证,因此在第二份工作中首先提升的就是解决问题的能力。见识了不少问题,数据库死锁,服务器假死(JVM垃圾回收导致)、数据库崩溃(因为一个表数据增长很快但是没有建索引)以及事务问题。每一次解决问题都是对自己的一种提升,会逼着去学习很多知识。主要工作还是稳定线上的环境,这样技术团队才可能抽时间去解决其他问题
第二阶段,经过前一阶段的努力,线上问题终于少了很多,这个时候核心团队也陆陆续续进来了一些新人,这个阶段应管理层的要求工作的重心开始转移偏管理方向,但是我个人并不是十分愿意,因为我觉得我的技术经验并不是很足,这个时候应该做更多编码工作。但是技术团队缺人,也只能先硬着头皮顶上。在这个阶段,开始考虑这个外包系统的重构,这个时候已经很熟悉业务,为了重构的工作能顺利进行,这个阶段学习了很多spring cloud、MQ、Mongodb、mysql的很多知识,也开始从事一些系统的设计和统筹工作。在这一阶段中,主要学到的东西一些技术框架和中间件以及数据库的选型的知识,也学到一定的系统设计经验。在团队中Leader很推崇DDD的一套,也在开发过程中实践了这一套东西,参考数目《领域驱动设计》。
在这家公司的时候,因为平时遇到一些问题,已经开始意识到基础知识的重要性,遂开始补基础知识。操作系统方面选择的《现代操作系统》第四版,算法和数据结构的主要是《算法》红色的Java描述、还有更理论化的《算法导论》看这些东西的时候感觉还是很抽象,特别是操作系统,有些概念真的很难理解。真羡慕科班出身的
因为第二份工作的薪资远不及自己的期望,并且感觉团队已经到了技术天花板,自己继续待着很难有更好的提升,想了很久之后还是决定整理行囊,重新起航。遂入职了第三家公司,第三家公司做的业务还是互联网金融,主要做引流,就是贷款超市之类的业务。进公司时,整个系统的架构已经完整,更多的是迭代的开发,技术架构依然采用的微服务的架构,粒度的话已功能模块划分,整体30多个微服务吧。
在这里提升主要还是对框架以及各种中间件的使用。对于技术,开始有一些自己的思考,不在像当初对于新技术的无脑推崇。特别是经历过两段微服务系统的经历后,越来越觉得微服务不是银弹。在很多场景,采用微服务不仅不能达到预期的效果,反而会给技术团队带来更多的问题。在这一家公司的时候还好,因为有专门的团队在做CI/CD,如果小公司没有这样的团队,采用微服务后运维的复杂性也会提升,虽然现在采用Jenkins也很方便,但是要做到柔性下线还是比较困难。反观单体服务,其实还是有很多好处,无需考虑分布式事务问题,运维简单,服务调用简单问题排查容易。很正常一般工作几年后见过的系统多了一些之后就会去思考当初的设计是不是合理,如果现在再去设计,自己会采用什么样的方案
第二个提升更多是开发流程的规范,对于一个项目的生命周期有了一定的新的理解。
第三还是觉得基础很重要,又拿出了操作系统的书看了一遍,这次也看了一些计算机网络,这一阶段对数据结构和算法的学习主要是有空就刷Leetcode上的题目,目前刷了300多道吧。在这个阶段自己也开始学习分布式系统的基础知识
找工作之前,自己要先给自己一个定位,是想进互联网大厂还是传统公司、中小型创业公司。因为这两种公司面试的套路完全不一样的,考察的知识点也是不同的。当然也有些小公司很喜欢采用大厂的套路,中小型公司更看重候选者的对各种框架的理解和使用经验。这里只是列了一个大纲,后续的文章我也会陆续写一些专题供大家参考
简历很重要,即使你技术再强,别人却不认识你(当然,网络知名技术大佬除外),只能通过你的简历判断,所以一定要写好简历。写简历也要有技巧,要避免通篇的文字,筛选简历很累的,我在上一家公司准备走时,组里要招人补充,期间帮忙筛选过简历,有时候HR给过来的简历多达几十份,看到字多的根本不想看。
在去面真正想去的公司之前,要先出去找一些公司来做一些实战演练。
猎头推荐,时间有点久了,当时也没有记下来
Boss直聘上投的,这一家前两轮技术面试还好,第三轮说是事业部负责人,但是全程问的HR问题,加上全程面无表情的脸以及问问题的谈吐着实恶心到我了,当场想走人,我又不是求着你给我工作,再说我面试通过也不一定去,一副高高在上的样子,刷新了我对360的认知,这辈子都不会去360面试
一面,电话面试,约的晚上,面试官人不错,只是面试题目时间有点久,大概记得都是Java的常规题目,具体不记得
二面,电话面试,好像也是晚上,面试官人不错,
三面,重点来了,从业以来,第一次面试遇到这种人刷新了我对他们公司的认识,如果她真是事业部的负责人,那么这种公司不去也罢,虽然技术问题我不记得了,但是她的各种奇葩问题我至今都难以忘怀,HR和我约的上午9点半,我一大早起来怕迟到,到了之后发现HR在上海的,不在深圳分部,然后叫我在楼下等了一会儿一个看着像搞技术的人把我领上去了在一个有一张小桌子的休闲区等待,接下来就是无尽的等待,如果我不问HR,可能我会在这里坐一上午也不会有人来问我是来干嘛的吧。我等了40分钟后忍不住问了HR说要是面试官不方便我就先回去了,另约时间吧。她说面试官在开会,她去问一下,你要开会那你就不要约面试啊,你开会拖一下很正常,但也不会拖40分钟吧。然后我等了快50分钟的时候来了一个中年女人,上来面无表情的说一句不好意思,没介绍她自己,所以我不知道她是负责人还是HR,所以我不知道我那一次面试属于哪种面试,然后开启了她对我的各种拷打,各种灵魂质问,下面就是她问的一些问题
看你工作5年不到,换了三家公司,为什么换这么频繁呢?答第一家公司受政策影响,裁员,并不是主动离职,第二家公司薪资低并且感觉自己技术很难有大的提升,第三家公司是因为业务重组被调到边缘部门
听了你的介绍,你觉得自己很优秀,你凭什么觉得自己优秀呢?把在上上家工作经历详细介绍了一遍,如何从外包手里接手过来,然后稳定系统后,带领技术团队重构。
你如果真的像你说的那么优秀,为什么你离职公司不挽留你呢?答挽留了,但是觉得自己在那里主要是薪资低并且感觉自己的技术在团队里触及到了天花板,很难有大的提升,并且如果最后因为加薪就留下,传出去以为我用离职来要挟公司加薪,在上家公司离职原因是业务重组,被调到一个边缘部门,所以选择离开
抓住了上家公司,接着问,你真的像你说的那么优秀,为什么你提出离职的时候,公司没有把你调到其他核心项目组呢?答,公司的各个部门都是有人员编制的,并不是说想换就换
听了你的描述,你的意思是公司要将就你?我问,什么意思?她补充到,你不是说了吗感觉自己技术没有提升就要离职,在上家被调到边缘部门就要离职,公司本来就是很多工作都不能提升自己的,你的意思不就是公司要将就你个人吗?这个脑回路我真的是服了,合着我们无产阶级就应该被压迫,是吧?即使做得再难受也得忍着,是吧?薪资再低,公司让你干啥就干啥,即使你再不情愿你也得干着,不能离职,是吧?听了这番描述的时候我当场想走了,出于对别人的尊重,我忍住了,但是已经不想回答任何问题,后来出来了之后回家的时候想,我真是傻,别人都先不尊重我还想着尊重别人,脑子被驴踢了
你以前从事的互联网金融行业,现在想换互联网医疗行业是为什么呢?我觉得互联网医疗未来前景应该不错,中国医疗紧缺,短时间不可能补充新的医生医院,但是可以利用互联网提升医疗行业的效率,经过这次疫情,国家应该会扶持互联网医疗
你凭什么觉得自己换了互联网医疗行业,自己可以做好(请允许我说脏话MD,又来了凭什么),我讲述了自己在上上家之前也没做过互联网金融,进入公司之后,短短时间内就熟悉了互联网金融的业务知识,并且可以说是在公司最艰难的时候帮助公司度过难关,我有信心做得好互联网医疗
最后想说的是,你在面试别人的时候别人也在面试你的公司,经过这次后,我已经将360永远剔除出我择业公司选择。也许是我来面试打断了她的会议,也可能是她在会议被批了,但是作为面试官,我觉得你是公司的牌面,做生意都讲求买卖不成仁义在。何况你全程一副司马脸,我一点面试的心情都没有,我只是来面试的,我不是你的出气筒更没有义务让你解气。如果你们看重别人换工作频繁,可以在招聘信息中像JD那样写明5年不超过两家,那我简历都不会给你们。
boss直聘上hr要的简历,简历处理还是比较效率,很快就有面试官联系约面试时间,基本都是约在晚上,面到第四轮,最后未通过,说实话第四轮面试没通过有点冤枉,可能越到后边越是在乎导致回答的时候畏首畏尾,本来自己擅长的东西结果完全没有get到面试官想问的点,而且这个组也是我很感兴趣的方向,只怪自己没有把握住机会。其中问的还是有很多比较好的问题,在这里分享给大家,当然时间有点久,当时也没想到要分享出来也没有面试后记录笔记,凑合着看吧
顺丰面的岗位是一个供应链金融和保险业务,技术面试是三轮,第三轮是去现场CTO面试,最终给的offer20k
深信服面试一共三轮,两轮技术面,一轮HR面,流程很快,两个星期不到拿了offer,我的期望是23k,结果对方给的28.8k,这个是唯一一个没有觉得我期望高的,并且也没有拿上一家的薪资压我的,从这一点上来说,深信服还是很不错的
信息流推荐系统架构开发四面没过,一度怀疑自己能力,进入了自我否定时期,觉得自己真的太菜了。隔了几天boss直聘上又有个哥们叫我投简历,我说我已经面过腾讯四面挂了。他说不影响,可以试试他们部门,想了想,面不上也没啥损失,又去试了一次,因为此时已经拿到一些offer,所以也没那么大压力
如果你想进大厂,一定要提前准备,
不要裸辞,不要裸辞,不要裸辞,重要的事说三遍。我就是一个活生生的例子,因为大厂流程真的很长,我从收到腾讯口头offer到最后收到入职指引都花了两个星期,offer审批要一个星期左右,背调一个星期左右
大厂的背调很多都是第三方背调公司在做,一旦发现简历作假,那以后也没法再进这家公司会被列入黑名单,入职时间和离职时间一定要和你的离职证明对的上。
很多时候面试没面上不要怀疑自己,大家工作几年之后,除了混子,其实该会的也都基本会,有时候只是你的技能和他们公司不匹配而已,不代表自己技术不行
最后祝愿大家都能找到自己满意的工作,想学习计算机基础知识,又觉得看书时间少的同学可以关注微信公众号“程序员学知识”或者扫下边的码,历史消息中有总结了操作系统的知识,对付面试应该是够了。算法的话我只刷了300多道题目,也在github上,如果有想看的话,可以私信我,或者公众号发送“算法github”,里边有些题目写了简单的思路,只是我为了防止自己忘记加的。我是算法菜鸟,不要拿什么难题来问我,简单的大家可以探讨一下。