巨硬实习之旅与近期总结

在巨硬已经呆了 15 个月, 已然创造了团队中实习期最长的记录。本来也没想呆这么久,只是没想到因为离家近, 价格也还好,外加学校也没什么事,就直接呆着了。没想到现在,论文定稿事情这么多,每周来回合肥苏州跑也不现实,导师的邮件回复速度真的是慢的令人发指,只好想着以后回实验室,盯着导师干活。 实习期间还是比较舒服的,之前在类似于国企的校企合作单位实习过,在互联网单位实习过,在台资企业实习过,最后的最后,像人一样工作的还是欧美外企啊。 在巨硬的实习期其实可以分为两个阶段,一个是转正面试前,一个是转正面试后。转正面试前,众所周知,因为转正的压力,干起活来特别卖力,所以这导致的一个结果就是,没啥事干。。。因为任务都是按照 Sprint 来排的,也就是每两周安排一次计划,当计划中的任务完成,那就只能从 backlog 中找点活干,backlog 里面呢,又都是一些无关紧要的低优先级任务(高优先级也没办法在 Sprint 碎片时间完成),所以我也学会了如何正确的工(hua)作(shui)。 本来硕士阶段和本科阶段着重点在于数据库相关的研发,但是众所周知,巨硬的特点就是,来了之后随机分岗。。所以我就被莫名其妙的被一三面面试官捞过去做 ML 相关的产品= =。(后来才知道,在楼上也有做数据库存储底层相关的组)。 实习期间,主要的任务就是处理数据和一个在线计算引擎。不得不说巨硬在存储上面是厉害,实习生项目是一个离线数据处理库,也就是尝试在做数据处理时,做一个中间层,对数据进行规范化梳理,也就是常说的 OLAP 操作。一开始觉得处理 PB 级的数据,哇好兴奋啊,到最后,哦又要等几个小时才能出结果啊。 关于在线计算引擎呢,这个我觉得从架构设计上就已经到了比较先进的水平。总共使用到的服务器在 40K 左右,每天处理的请求也是巨大的数量级。。关于如何处理大规模请求,网上有各种解决方案,巨硬内部的解决方案其实很奇葩,因为 Exchange 服务是从上个世纪 90 年代就开始的,所以受到时代的局限,很多的解决方法在现在看来思想有点落后,但是,很多的解决方法又很超前,因为当时的巨硬没有开源需求,导致很多的技术并没有外传。NoSQL的实践,列数据库实践都很超前。总的来说,我还是觉得巨硬少一个 Steve Jobs 般的营销鬼才,因为内部都是工程师说了算,导致很多的需求,都很工程师范(管用户怎么看,往上堆,这个很牛逼,往上堆)。 关于转正面试,貌似很多人都会觉得这个很难很慌,然而其实真的很简单,只要把给的题做出来,换着法子做出来,用各种奇葩技巧做出来然后一次过,就好了。想到当年在中科大复试,和老师交谈甚是开心,最后在专业面试中直接开始讨论苏州地区的房价对昆山地区的影响。差不多巨硬也是这样,记得面试最后问了下 AA 给我的评价,他也反常的直接给了答案,而不是非常官方的回答(不直接回答结果,编借口说等综合考虑)。 面试后的实习期,不出意外的,我从前端组换到了现在的重后端的部门。我的前端是真的烂,传说中的 Google(Bing) Coder,加上内部又是用 TypeScript,更是很难受。不得不说,内部的 infra 做的是好,哪怕不会写,照葫芦画瓢就行,写的不对的编译会告你怎么改。大不了最后 code review 拉回来重新写。现在的这个组就是在那个在线计算引擎上开发。如果你有幸购买了 Office 的高端版本,你可能就会看到我的代码。这里面也有个好玩的事情,我之前开发了个 feature,结果这个被美国的大老板喜欢上了,隔三差五提需求改,结果就是本来 1 个月就能上线到全球用户的 feature 脱了三个月。。。另一个项目就是 cache 相关的,要把线上所有的 cache…