2016年上半年总结

#前记

最近半年一直在准备实习的事情,所以落下了博客,Clang static analyzer源码分析开了坑,但是却没有填上,在此表示歉意。总的来说,上半年的实习找的一塌糊涂,我从去年就已经决定要找编译方面的工作,可惜编译相关的职位,不是很多,自己又能力不济,所以屡次碰壁。


##如何走上编译的道路
走上编译的道路,还是得从本科说起,本科对计算机体系结构和编译原理非常感兴趣,保研时就直接联系了编译原理老师,进入实验室后所做的工作都是基于Clang开展的,所以也算是与编译相关。

刚入实验室时,其实并没有想以后从事编译方面的工作,自己对未来规划也不是很清晰,只是感觉自己应该进入BAT做研发工作。去年(研一到研二)自己一直埋身于Clang static analyzer相关的工作,所有的时间都花在如何把项目做好,如何指导新的组员尽快开展工作,如何与甲方协调需求与测试,每天都是邮件飞来飞去。说实话感觉自己去年一整年挺浪费的,目标不清晰,自己浑浑噩噩做着项目,感觉投身于项目应该是研究生该做的。

期间自己完全没有时间学习新的知识(自己也没有时间规划的概念),直到去年下半年元旦的时候,感觉自己这样浑浑噩噩下去是不应该的,那个时候开始认认真真思考自己的未来,才下定决心要走编译的道路。那个时候唯一的目标就是进入IBM编译器组,再不济进入华为编译器组也是可以的(现在想想那时的自己是多么的心高气傲)。后面开始陆续关注编译岗位,IBM、惠普、marvell以及华为,编译相关的联系方式自己搜了一个遍。所以2016年回到学校就以蓄势待发,舍我其谁的架势开始找实习岗位。


心高气傲

本科刚开始,由于之前没有接触过计算机,所以对编程一窍不通,只是全力准备考试,成绩还算可以。大一下失恋(一段愚蠢至极的感情),那一段时间每天行尸走肉般,现在都不敢去想。还好大二调整好了状态,开始好好学习,工程能力也一步步的赶了上来,各种课程的实验开始独立完成,在班级里面也小有名气。所以等到大三的时候,以还算可以的成绩保研,当然保研的同学中,工程能力较好的不是很多。所以刚入实验室,就被看好(当然是自己看好自己),以为自己能力出众,然后慢慢的发展到被其他同学“吹捧”,各种“师兄”的喊着。

自己也比较要面子,自然也会享受其中,殊不知这就是自己慢慢落下的开始。自己偏安于一隅,不知道天高地厚,以为自己看了几本书,写了几行代码,就开始膨胀起来。虽然自己从不甘于人后,可是那时候并没有意识到,自己对知识的渴望已经没有本科时那么强烈,因为本科的时候自己在编码方面落后于人,所以非常注重这方面的训练。但是当你不再仰望的时候,就已经开始坠落了。

低年级同学问的问题答不上来时,碍于面子随意搪塞过去,讨论问题自己出错时,从没有低头承认。当别人讨论新的技术领域时,自己不懂,但又怕出错,所以都是直接将话题跳过。自己失去了太多太多深入思考技术问题的机会,自己失去了太多太多对新技术领域的兴趣。

人呐,总是当自己碰壁的时候,才会回头望一望自己走过的道路!


实习准备

华为

自己在找到了华为编译器组的招聘信息,然后发了封邮件,华为编译招聘的负责人非常好,后面通了电话,询问了相关信息,说实话自己对华为的未来抱有很大的信息,并且并不怀疑华为对技术的支持力度,所以聊的很认真。华为那边说,校招之前发简历给他,华为会安排编译相关的面试官进行面试。最后,他说“我们非常缺人,但是你必须能够证明自己的能力给我们看!”。

为了熟悉编译概念,3月初我已经开始着手一个简单编译器的编写,现在已经写到IR生成部分,等到能够出一个简单的版本时,我会开源出来。

IBM

关于IBM,我一直对IBM编译器组非常向往,这也是决心要去的部门。对IBM编译器组的兴趣,来自于知乎上的蓝色大大。感觉那是一个比较大的平台,水木清华BBS饮水思源BBS 以及 微博上都有相关的招聘信息,可惜我联系IBM的时候,他们并没有招生实习生的计划。

惠普

惠普在编译器领域也是有很深厚的积淀,特别是在编译后端。由于对编译后端非常有兴趣,对惠普也是很向往的,联系了惠普招聘人员,说今年也没有招聘实习生的计划,所以就不了了之了。

Intel

Intel在Linkedin上一直有招聘Javascript 引擎开发人员,所以我就尝试投了投简历,以为起码能够安排面试吧,可惜连简历筛选都没有过。这次算是今年经历的最早的一个挫折,以前感觉自己搞编译很特殊,搞编译的人又非常少,以为自己起码能够安排一面。现在想想,自己搞的编译简直是不入流,自己只是了解些编译概念,就有些自命不凡。

现在回头想想,我离知乎上的R大和蓝色,不论是技术,还是在对技术的热忱上,都想去甚远!

Coverity

在知乎上一直有关注Coverity的开发人员,虽然自己搞编译,但是参与的项目都是静态分析相关的,而且coverity是世界上领先的静态分析公司,自己能够拿到工作机会也是非常不错的。然后和coverity开发人员询问了下招聘状况,到秋招的时候,再继续联系。

所以后面关于Clang static analyzer的源码分析会继续进行,但是由于自己现在全身心扑到编译器开发中,所以时间上不是很充裕。


腾讯面试

开始那位带我的师兄给了我腾讯内推实习,可惜投错了,投成了社招。我本来是不想去面试的,因为自己只想搞编译,本来不想浪费时间。但是此时装逼心情作祟,心想随手拿个腾讯实习尝一尝也不错,如今想来简直可笑。

但是腾讯那边还是给了我面试机会,第一次面试是远程做题,开始时不是很顺利,问了些算法题,自己对算法不是很精通,但也不算太差,答得勉强可以。另外问了些,C++底层机制问题,由于对C++比较熟悉,胡乱答了一些。

后面腾讯给了第二次面试,由于各种原因,自己的第二次面试是面试官委托其他人来面试的,各种算法,整个面试过程坎坎坷坷。回来打电话询问,面试官说第二次面试还可以,算是中上,但是远比不上第一次面试结果,让我等结果。我当时心想,第一次面试我胡乱答的,怎么比第二次还要好,第二次还是准备了些。当然最后,没有消息了!

究其原因,自己简历对自己的介绍都是关于编译的,第二次的面试官随便问了些算法题,估计自己也没有答好。


阿里面试

腾讯面试杳无音讯后,就开始将编译器的编写提上日程。后面实验室同学面试阿里的时候,由于简历上写有Clang相关的项目,并且那个面试官对compiler又非常感兴趣,所以面试官就询问了我的同学是否熟悉编译。由于编译并不是那位同学的专长,所以那位同学推荐了我,当天我就赶去面试现场,等到晚上7点,在面试官赶飞机前,问了些编译相关的问题。当面试官问到些编译相关的问题时,就感觉自己来值了,这些问题恰好是自己非常感兴趣的,就聊了聊。可惜问的问题比较少,并且没有涉及到体系结构,当面试官准备走的时候,自己非常担心的问了下面试官,能否再给自己个机会,了解一下自己的体系结构、操作系统以及链接相关的知识,面试官说“有可能的话会联系你的!”。整个过程也就20多分钟,回来的路上自感无望。

一个星期以后,阿里打过来电话,进行第二次面试,问了问项目,面试了些C++相关问题,整个过程也就30分钟,就结束了。感觉自己答的一般般。

由于自己感觉阿里的那个面试官人非常好,并且是编译小组的leader,自己还是很珍惜这个机会的。等啊等,终于等到了hr的电话,hr人也非常好,聊了聊,后面问“你希望来杭州,还是北京?”。我说都可以,hr说“把你放在北京话,正好那个编译的面试官也在北京!”。我以为自己实习offer已经稳拿,可惜等啊等,等了近半个月,也没有等到消息!说实话,当时感觉挺不舒服的,就像失恋似的,以为自己美好的事情就要开始,我已经开始准备北京的租房了,不分理由的就说没有可能了。晚上自己胡思乱想到很晚才睡着!


后续

经过小半年的折腾,自己碰了些壁,但我自认这些都是自己的问题。从前自己总是说“我不在云端跳舞,只贴在地面步行!”,可惜不知不觉自己就已经开始从自以为的高处坠落。

从小到大,自己经历的挫折也有很多,但从未将我打到,几乎每次挫折,都会让我站得更高!

我坚信拒绝会让我变得更强,我坚信挫折会让我站的更高,我坚信苦难会让我走的更稳!我坚信我所坚信的,正如从前那个不知天高地厚但正视自己不足的我!

放低身段,潜心技术!

你可能感兴趣的:(乡村骑士随笔)