【前言】
本月的主旋律是部署项目,复习面经,投递简历,离开昆山。目前看来,这个月也是下半年收获最多的一个月。
按计划,本月中旬投递简历,地点以北京、杭州为主,意向企业全是业界知名的大公司。野心这么大,也预计过程不会太顺利,所以做了打持久战的准备。一开始,一周内投递的10份简历里,只收到两家公司的回复,其中一家约了面试,然后面了一轮直接发offer。虽然隐约觉得不太靠谱,但能早上岸就不拖着了,直接确认了意向函。然而,离开原公司的阻力,比我想象中大得多...
【目录 · 洋文版】
All about the process of hunting for an internship:
- ${Before Hunting}
- ${During Hunting}
- ${After Hunting}
【正文】
Before Hunting
找实习前,一定的知识储备和项目储备是必须的。纵观几个月前的失败经历,失败的原因有如下几点:项目无亮点、基础不扎实、算法没思路 --> 没自信。而春招后的这几个月来,我吸取教训三管齐下,目前来说,大概可以试着应付大厂面试了。
这个月的上半月,是临门一脚的关键时间点,也是时候将前几个月的学习成果总结收尾了:
《并发编程的艺术》第5 - 10 章
目前还在一刷,这几章主要剖析JCU包下常用的类的源码(好吧,其实整本书都是讲这个包)。除了在CAS同步器上卡的比较久之外,其他章节阅读起来都挺顺利的。一刷能到这种程度已经很了不起了,给自己大大的赞!之后看多了其他代码,发现CountdownLatch和Executor框架还确实挺常用的。
《剑指Offer》20题
目前二刷中,相比一刷顺了一些。还是按习惯每天上班第一件事刷题,忙了只刷一题,闲下来可以刷一上午。虽然后续实习面试中没被问到算法,但是明年秋招一定会用上,晚刷不如早刷呗!
Zookeeper原理
阅读《从Paxos到Zookeeper分布式一致性原理与实践》中的常见一致性协议、ZAB协议、分布式锁等基础知识
MeetingFilms仿猫眼项目(优化+部署+总结)
8月份那会儿基本完成这个项目了,这个月主要是学习了分布式事务,并把他运用到了订单模块 - 创建订单这一步中。此外还进行了项目部署(原谅我的云服务器只是学生机,只在本地部署了玩一下),并使用Zipkin和Brave进行链路监控。最后还对整个项目进行了详细的总结,以便后期复习。项目GitHub地址:https://github.com/Harson-Zhang/MeetingFilms
课程资源共享平台(优化+部署+总结)
这是今年3月份的实训项目,一个SSM+JSP的单体架构网站,平淡无奇,之前的简历中项目经验一直写的是它。由于过于平淡,7月份那会儿我动了改造为分布式的心思,可惜并未成功。被搁置了一段时间后,这个月再次改造,当然不可能大改了,时间不允许,这次的目标就是提升RT和QPS。
在原有基础上,我引入了Redis、Nginx、图片服务器,并优化了序列化和反序列方式(毕竟Java自带的序列化与反序列化效率最低)。感兴趣的可以看看,你可以把这种方法借鉴到自己的项目中:https://github.com/Harson-Zhang/CoursePlatform
多说一嘴,项目和网上那些雷同无所谓,吃透了就行,面试官更关心的是用到的技术和你是怎么解决项目难点的。
复习今年面过的面试题
开始复习前,以为自己两三天就能搞定了。Naive,知识点太庞杂了,什么JDK8新特性、并发源码、JVM、网络、Linux、OS、数据库等等,而且复习过程中还穿插着要学习新知识点。但好在赶在初次面试之前复习的差不多了。
公司事务
公司的日常事务这一块,其实在上一篇博文已经吐槽得差不多;吐槽的内容是一方面,具体的任务是另一方面,下面主要讲讲后者。
8月份我主要负责交通数据管理系统的开发,其实就是一个能对数据库表进行增删改查外加Excel导入的单体架构网站。Excel导入那块稍微有点意思:根据表名和数据源的映射的配置,配合SpringAOP,实现了多数据源的自动切换。整体难度不大,主要难点在于:对这个基于SpringBoot改造的框架不熟悉、前端JS写的不熟练;克服手段就是多翻代码、多问搭这个框架的前辈(虽然他一直很忙)。
等到8月底开发结束后,测试一直没给测,原因也特别狗血 —— 没有需求文档。也是哈,从头到尾需求都是憨批组长给我讲的,哪来什么文档。组长让我先自测,结果直到我离职了,我还是没和测试对接上,我怀疑组长那边需求文档真的难产了!在学校,我学到的开发方式只是瀑布模型、快速原型、敏捷开发模型等;实际工作中,竟存在更加令人窒息的模型——逆向开发模型!具体操作就是先让开发人员开发,然后制定需求文档... ...
p.s. 2020年5月补充,这个项目依旧没有交付。不禁发笑
回到这个月,由于项目的收工,新项目迟迟没布置,我可算是闲下来了,正好给我找实习腾出足够的时间。当然一天到晚闲着领导也看不下去的,于是我就被派去贴卡片标签了。对,就是那种刷卡用的卡片,给每张卡片贴上所属蟹民的身份信息。刚开始每次去贴卡片都要加班,有一次还加到凌晨12点多;后来任务减轻可以正常下班了,但多多少少占用了工作和自习时间,颇为不爽。
During Hunting
中秋结束之后,便按照原定计划开始投递简历。秉着“宁缺毋滥”的原则,一周之内,我在各个平台上总共只投了10家公司,包括滴滴,百度,京东,爱奇艺,斗鱼直播等。其中斗鱼要求现场面试,遂拒之;爱奇艺很热情的收下了我的简历,随后再无下文;京东数科回复之后,第二天便邀约电话面试,说明不能现场面的情况后,对方HR表示没有任何问题,于是定好面试时间并提前请假。
面试时间是下午3点,面试官是组里的技术大佬阳哥。由于应聘的是Java开发岗,我的技术栈也是以Java为中心向外拓展的,加上问的问题基础,约80%都答上来了,于是半小时后阳哥约了二面。“下一轮面试在京东总部,咱们约一下时间吧”,阳哥问道。什么?说好了不要现场面的。我支支吾吾的解释我现在在苏州,可能去不了北京。阳哥颇为惊讶,“我先和HR商量一下,你先想个时间,待会儿打你电话时你再告诉我吧”。挂断电话的同时,我叹息错失了多么好的机会,并已下决心以后投简历只投周边城市了。
剧情峰回路转,半小时后,阳哥打来电话,不是预约面试,而是offer call。“那就恭喜你了,确定能实习6个月吗?”一番简单的谈话过后,心情如过山车般涌上高潮。挂断电话后,嘴上不断重复“牛批”“牛批”。读研以来的心愿,终于实现了......
After Hunting
面试结束后第二天,HR便来电商谈实习相关事项。接收到意向函后,二话不说就签下了。京东那头,给我推了入职导师——马哥;马哥稍微讲了讲他们做信贷相关的业务。而原公司这边,便是处理项目交接的事,然后准备离职。不过离职流程实在是繁琐,和一个领导讲完离职的事,他便让我和另一个领导先讲。一个个领导通知完后,便去人事那边要了份离职单。
插叙:人事的大叔疑心很重,从发完offer开始到入职结束,一直对我们这些985硕士放不下心,先是说上一届好多人收了offer不来实习,然后说有些人来实习了啥也不会、经常请假...
难不成我们会逃吗?难不成我们东大人看不上贵公司吗?。
推开门说明来意,人事大叔一脸吃瘪的表情,一言不发;其他两位小姑娘也像欠钱似的,问个问题也只回复个只言片语。拿到离职单,准备签字。按规定,下级领导没签完,就不能给上级领导签;某位领导十分鸡贼,故意借口自己很忙,拖了两天就是不签。没办法,亲自去办公室找他,结果和我说正在联系学校沟通情况!找呗,反正导师是副院长,怕啥?
过了一天,管实习的老李来电,说了1小时废话,劝别换实习,即使换了,学院也要进行审批,京东大概率过不了;你导师同意?那也没用,你去了照样拿不到学分;互联网有风险,做ToG的业务很稳定?h**ly sh*t!感情这种乡镇外包软件公司可以审批通过,国内知名互联网却过不了审批,我东软院的管理已经腐败到这种程度了吗?
这种说法完全无法接受,失眠了一天后,第二天询问导师和其他老师,最后依旧没得到明确的方案;但是,是时候挑明去JD的事实了(在这之前,原公司这边,我以回实验室为由要求离职;而学校那头,则是以换实习为由要离开原公司)。这时已经是国庆前一天了。国庆前4天开始走离职流程,结果直到国庆前仍未完成,谁说大公司流程繁琐,这种小公司不也同样效率低下?
和领导们挑明事实后,他们有些摆出吃s般的表情,有些表示惋惜,而那个需要在离职单上签字的大领导,钉钉发消息不回,办公室门紧闭,说是出差中。最后打电话,直接说了句“节后再说”便挂断了。
此时已经是9月30号下午,而JD给我安排的入职时间是10月9日,也就是国庆后第二天...
【结语】
当天晚上,得知我离职的一位同事邀我去烧烤店喝酒吃肉。我将这些天不顺的离职经历一一讲述,并告诉他我可能暂时走不了了。他感到挺惋惜的,并也向我分享了一些之前的经历和自己创业的想法。酒过三巡,挣扎在绝望和焦虑中的我,止不住的向阻挡我的一切破口大骂... 国庆假期,求你早点结束吧!