披荆斩棘——2015年终总结

路越走越清晰,人越活越明白。———— 题记一

对我来说,今年是切切实实的学校到社会的过渡之年。对于这个鸿沟,很多人如白猿一般飞度而过,而我,我认为或许是最笨的办法,那就是先从山的一侧攀援而下,再从另一侧奋力爬上。因而,今年最大的感觉,就是时间不够用,每每过度消耗着自己,累且并没有时间体会痛苦,只能望着那个方向,一步一步的走,一步一步的爬,不过幸好,山渊的另一侧风光独好。 ———— 题记二

今年的年终总结迟到了。一方面,元旦前后,去旅游了;另一方面,我在等,等毕业典礼的完成,这样,2015就不仅仅是2015,还是两年半的研究生生涯的结束,还是六年半大学生涯的结束,是人生一个时期的结束,是大写的学生生涯的结束。

2015年那些事儿

2015,其实很容易记,就是四个部分,小论文、实习、找工作和毕业论文。其中,小论文和毕业论文是为了毕业,实习和找工作都是为了以后的前途。每个部分都节奏紧凑而分明,每个部分都是有挑战的大事,每个部分都有欢乐和泪水。

失败的论文

从2014年延续下来的项目,本来是要基于深度学习做一些事情,不过搭好cuda-convnet2后突然转向图像检索了,我也是大吃一惊,吃惊于并没有听到上面的只言片语有倾向于要转到这上面来,所有同时又看到方向的兴奋和被蒙蔽的屈辱。记忆深刻以至于我现在还能回忆起当时的感受。因为这个方向很新,所以还是做出了很多实践性的成果。

不过结果不太好,投顶会悲剧了。三个reviewer中有两个认可我们的工作,已经让我很开心了。然后这也是我的毕设。

犹记得去年的年三十和年初一、年初二还在改论文,那时的奋斗还是感动了自己。深切感受到做出有成果的研究不容易。

对于此次失败,我反思了很久,希望有助于提高自身的能力,提高自己做事的方法。

  • 没有足够的视野。后面转向图像检索后,不应该再坚持每次都用ImageNet那么大的数据集做实验,而应该用该领域中常用的若干个小数据集如cifar10,SVH等,有效果了再到大数据集上验证。这样做可以节省时间,尤其是当时手头并没有很多GPU。没有阅读足够多的论文,扩展足够的视野。
  • 工具要选好。之前选的cuda-convnet不灵活,后面再想迁移我已经没有了时间。
  • 心太大。一直想在研究生期间发出一片真正有用的论文,抵触那些纯改改网络结构就发论文的成果。但是后面一直调不成功,感觉DL就是调参大坑,如泥牛入海。所以最后只剩一些实践性成果。做事没有一步一步积累着来。
  • 要有自己的主见。感觉有时候宏观指导并没有用,我跟上面每次聊完,都并没有什么结果,总有一种大而无当的感觉。但是我觉得当做一件事的时候,最需要发挥主观能动性的一定是自己,不能想依靠别人,可以跟别人聊想法聊人生聊理想,但具体下一步要做什么的决定权在自己,想法在自己。突然想到一代宗师中,宫羽田与叶问说,此番只比想法,不比武艺。在研究中,最有价值的就是想法,有了想法才有论文,当然,也有人说idea is cheap, implementation is important. 不过我觉得,idea也是很重要的。
  • 缺乏与学术圈的交流,因为实验室中之前从来没有这个方向,所以我应该目光向外,有意识的去寻找一些做过类似工作的人去交流一些经验,而不是恪守自己的一亩三分地。
  • 时间,时间是做研究的硕士生最大的敌人,如果是在前人的基础上,或许还可以节省点时间,但是我满打满算从接触课题到论文投稿,不过八个月的时间,而面对一个顶会,当真是mission impossible了。

虽然投顶会失败了,投个普通的还是没问题的。但失败也让我学到了很多,不仅仅在做研究上,很多经验在解决问题上都是通用的。感谢这次经历,虽败,但三军可夺帅,匹夫不可夺志也。

实习

听说,找工作的时候还是需要实习经历的。于是,三月份的时候,开始找实习,拿到了百度商搜和MSRA的实习offer,都是好地方,当时很纠结,恨不能分身去两个地方。仔细考虑了一下,优劣如下:

  • 商搜锻炼的是工程能力,M司是研究能力。
  • 商搜是核心部门,M司则在外企中具有更高的知名度。
  • 商搜能继续接触深度学习相关的知识,尤其是计算广告,我还是比较感兴趣的。
  • 商搜能见到Andrew NG,对于我这NG脑残粉我觉得还是很有吸引力的。

纠结了很多天,我觉得对于我自己来说,可能更高的是提升自己的编程能力,继续在深度学习的路上走。所以最后还是去了商搜,当然,M司也是很好很不错的部门。

在实习过程中,学到了很多东西,包括知识方面和业务方面,对在线广告系统有了更为深入的了解,也为自己工作中交流和表达能力的提升方向有了更精确的认识。说实话,我深切感受到做一个程序员的朴素与真实,组内人都很nice,身为程序员的我们都略有木讷但丝毫不闷。每天coding不用想杂事的感觉真爽。

更重要的是,认识了很多很nice的人,包括浩然正气的公子磊、厚重的公子林、萌萌哒的公子茜、活泼的公子慧、诚朴的公子松、干练的公子盛和六分似元芳般的公子迪等等。跟这些人一起写代码,如入芝兰玉亭,使我提高很大。

找工作

从14年的10月份我和M神就开始准备去国外工作的面试准备工作,最初的准备工作当然就是leetcode,直直刷了三遍。当时leetcode上还只有140道题,还是挺少的,我们边刷题边看着它的题目越来越多,leetcode上题目从140到220道的整个过程我们全程都跟下来了。

我刷题基本就是纯自己想,基本不看答案,我记忆中,只有异或那道题我看了答案。其余的都是自己想出来的,即便有时想不到最优答案,我的解法也能过了题目,刷完第一遍我花了五个月,从10月份到次年的3月份。当然,这五个月都不是全力刷,就是每天过题数有增加即可,过年那几天也没歇着,不但没歇反而是大刷特刷的阶段。可以说,刷完题后,再去面试,不论国内的还是国外的,算法题上面都是见过的题目了。

3月份到7月份刷的第二遍,这块这么慢主要是要一边实习一边刷,那一段时间真心是累,白天去实习,七八点钟回来,晚上刷题到12点,然后12点回去后可能还得加会班启动实习需要的一些脚本。基本上时间占满了。第二遍主要是注重解法的精简,一些比较经典的难题还要多练几遍。刷第三遍的时候则是已经开始参加笔试面试了,这一边主要是练手,纸上练习没有bug。

我准备面试主要是针对外企,所以没有看太多网络、操作系统之类的基本知识,因为外企面试不会问,而我自大的认为自己的基础比较扎实。因而基础知识都没准备,基本就是去面试,遇到不会的也不含糊,直接说不会,记住回来查,查完了下次如果还问到就不用担心了。

除了leetcode外,还有lintcode,我也刷了三遍。为了应对英文题目,《cc150》是必须要看的,上面的题目做了一整遍,还有geeks4geeks。《剑指offer》和《编程之美》也全看了一遍。还有就是面试前要去一亩三分地里去看面经,尤其是最新鲜的面经,这点我看的晚了,临onsite面试前我才看的,有些手忙脚乱。还有就是为了解题思路系统化,去上了九章算法的算法班;为了提升系统设计题目的能力,报了九章算法的系统设计班。尽管最后面试也没看到系统设计题,但还是感觉很有提高。

最重要的是,需要经常mock interview,因为我和M神一起准备的面试,所以天然有伙伴可以一起mock interview,当然是英文的模拟面试喽。犹记得最后快去面试那几天,每天晚上豁出去了,去宿舍旁边的咖啡馆里练习模拟面试,每次都点一罐姜丝红茶,即便这样当服务员得知我们是学生的时候还表示了惊奇,我莫名所以,穷学生就不可以去咖啡馆么?囧。

面试虽然是为外企准备的,但其实国内的企业也可以去面的。于是从七月份开始陆陆续续的找里面的人内推,我个人不太愿意去参加笔试,因为不确定性太大了,基本拿到的所有offer都没经过笔试而是直接内推去面试的。

所以,总结起来:

  • 三本书 —— 《编程之美》、《剑指offer》和《cc150》
  • 两个编程网站 —— leetcode和lintcode
  • 两个面经网站 —— 一亩三分地和geeks4geeks
  • 两个编程课 —— 九章算法和九章系统设计
  • 模拟面试 —— 最重要

面试八卦

找工作季自然是要海投,所以我前前后后面过很多企业:

新浪、Sensetime、谷歌、网易游戏、网易、百度、腾讯、阿里、freewheel、美团、搜狐、京东、第四范式、今日头条。

当然,还有很多投了没有鸟我的,比如linkedin、facebook、amazon美国。笔试没过的,比如hulu、宜信。所以,找工作一定要内推,做笔试的话别忘了去卧佛寺和雍和宫上香。

一大半都拿到了offer,下面说说我对各个公司最直观的感受吧。

  • 头条,题目最难、也最有技术含量、最有机器学习的范儿,包括概率、公式推导等都很专业,编程题目也很有开放性。我觉得技术感最强。两个leader很nice,三言不离技术却又幽默,HR姐姐人漂亮,态度非常令我感动。
  • 第四范式,我本来以为是机器学习为重的公司,面试之后才知道是业务与算法并重的公司。面试过程中遇到了传说中的陈雨强大神,机敏帅气,思路很快。遗憾的是没见到戴老板。面试题目一面涉及到了很多基础知识,二面三面机器学习居多。
  • 京东,数字营销部门boss也是来自百度的,所以我把头条、第四范式和京东称作百度系。京东的hr是我见过最搞笑的,因为从来没听过hr称自己公司逗比的。leader人很nice。
  • 搜狐,唯一一个我遇到有群面的公司,第一面的编程题难的出乎我的意料,大意了我居然没写出完整的代码。群面时还遇到了本科同学W姐。待遇略低但户口很诱人。
  • 美团,面试的最全面,包括网络、操作系统、hadoop、机器学习都问了,一面的全面程度导致我40%的问题都不知道答案,于是记住回来自己详细的查,基本美团问过的问题都涵盖了大部分其他公司要问的那些基础了。二面是两个人,一男一女,问hadoop的,后来去官网上看,那个姐姐也是小航的,竟然是师姐,长得挺像我一大学同学。三面的leader思路清晰,说话慢而又条理,慨然有儒将之风。说最优秀的员工有三条要素,直面困难的胆气、分解问题的能力和自我成长的能力,这三条让我印象很深,受益很大。
  • freewheel,地点很高大上,在使馆区那块。面试题目感觉并不难,具体记不清楚了,印象最深的面试之前等了十五分钟,那十五分钟的心情至今尚能回想起,非常紧张。面试的时候遇到一个信工所的女生,挺好看。
  • 阿里,全是电面,阿里开始的最早,但是也最慢。7月份投的简历,8月初我都听说到deadline了还没有二面三面,然后竟然同一天来了二面三面,关键是,还和google的电面在同一天,那天的紧张程度,上午阿里的电面,下午先是谷歌电面,然后又是阿里的电面,那天结束后我想静静,于是一个人去了操场纳凉。不过话说回来,个人觉得阿里的态度不像知乎上传的那样,hr态度都很好,很耐心很耐心的帮我调城市调岗位,这里,从我个人的经历来看,我觉得HR没有网上说的那么差,为它正一下名。
  • 网易研究院,很早面了一面二面,然后过了很久之后,才通知我说要三面,而且得去杭州,所以没去三面。
  • 网易游戏,数据挖掘岗,一面聊完,面试官认为我比较乐于coding,然后就没有然后了。
  • 谷歌,纯算法题,准备策略上面已经说了,全程英文,有些hold不住。人都是挺nice的,HR姐姐很nice,任何解说都非常有条理,有一种完完全全为我考虑的感受。
  • 腾讯,两次电面,都是开放式题目。HR姐姐超级nice,被感动了。
  • Sensetime,感觉需要的是研究能力很强的人,paper掉渣天才行的,从学术上呗碾压了。
  • 新浪,面的最早,上来先给一个笔试卷子,然后照着卷子上的题目讨论,具体题目记不清了。

毕业论文

依照上面的那篇小论文扩展而成,同大多数人的感受一样,写了好多好多版本。每次让老师看过都需要改一遍,有时候我都觉得完完全全不需要改了。老师还是坚持,于是没办法,拿起键盘继续改。

查文献自然离不开谷歌学术,我个人真正读的文献数目还是可以的,所以写论文方面倒没有抄啊编啊之类的,3.5万字纯手打,这点让我感到我的研究生生涯还是没有虚度的,虽然很水但是很自豪。身边不少同学都是抄了很多,我心里上做不到他们那样的洒脱,或许这就是我的性格吧,我觉得论文是人生中一件比较重要的事情,要认真对待。对待很多事情都这样,我觉得它是大事,就不会随便瞎弄,所以就造成我有时感到很纠结,重要的事情太多,如果每件事情都去认真对待,那么时间是不够的,可如果有一丝马虎,又感到心里有愧。所以,当我需要分辨哪些事情对我来说是重要的时候,取舍之间纠结立显。有很多时候我希望做事方面少一些拘谨,多一些洒脱,这样,那些看似重要的实际上不重要的事情就不会烦扰到我,比如论文这件事!

之所以说论文不重要,有两点原因,第一是我觉得里面的干货才重要,论文的编排尤其是具体到某个词的用法我觉得不重要。第二点是我们学院的老师对深度学习一窍不通哇,我不怀疑老师在软件工程领域的知识和能力,但在深度学习上,我答辩起来真的索然无味。丝毫没有被人认可的感觉。就是那样就过了吧。

而至于其中印象最深的事情,那就是有一个比较顽固的老师,认为软件工程的学生就该写工程的,不能写研究型论文,研究型论文就该毙掉,把我们实验室一个女生Q姐说哭了,然后到答辩后还在认为我会挂掉。不看内容只看格式,我觉得那个老师是我们学院的腐儒

2015年书单影单

今年读的书不如去年多,但仍有一些,仍然是科幻书居多,因为刘慈欣的书已经读的差不多了,所以主要是阿西莫夫和王晋康的。

科幻书单

王晋康

  • 拉格朗日墓场
  • 养蜂人
  • 替天行道
  • 终极爆炸
  • 生命之歌

刘慈欣

  • 2018年4月1日
  • 全频带阻塞干扰

阿西莫夫

  • 银河帝国系列1-12
  • 神们自己
  • 永恒的终结

其他书籍

  • 乌合之众(古斯塔夫·勒庞)
  • 了不起的盖茨比(斯科特·菲茨拉杰德)
  • 青春、光荣日(韩寒)
  • 心理罪:画像+教化场+暗河+城市之光+第七个读者
  • 小李飞刀:多情剑客无情剑
  • 乖,摸摸头(大冰)
  • 从0到1:开启商业与未来的秘密(彼得·蒂尔)
  • 重新定义公司:谷歌是如何运营的
  • 拜伦诗选
  • 台北人(白先勇)
  • 人生的智慧(叔本华)
  • 霸王别姬(李碧华)(这竟然是一部同性恋小说)
  • 起风了(崛辰雄)
  • 追风筝的人(卡勒德·胡赛尼)(阿富汗风土人情)
  • 解忧杂货店(东野圭吾)

其他东东

个人脱口秀:

  • 罗辑思维
  • 晓松奇谈

电影(推荐):

  • 破风
  • 逆光飞翔
  • 千与千寻
  • 海角七号
  • 捉妖记
  • 夏洛特烦恼

电视剧:

  • 闪电侠
  • 绿箭侠
  • 琅琊榜
  • 伪装者
  • 大好时光

毕业了

研究生

本科毕业的时候,自己一点也不担心,因为潜意识里认为,我还要再来两年半呢。那时候,自己搬到大运村,把一个一个同学送离学校,虽有失落但不曾改变根本的心态。可不曾想研究生竟然如此之快,跟本科大不相同。

研究生期间,宿舍再不如本科那么喧哗,时时都有人在。同学们都忙,忙着去实验室,忙着去玩,往往宿舍中就我自己,大运村那压抑的小宿舍,很长时间都让我难以适应,适应那昏暗的光线,适应那封的很严密的大门。

一个人孤单的时候很多时候也就是成长的时候,找到自己喜欢的事情,找到自己前进的方向,找到自己真正令自己开心的事情。

我试着去更加深入的去学习机器学习,一步一个脚印的方式,并把这些印记用博客反映出来,然后被人读到我觉得很开心;我试着周末约朋友出来玩,桌球炉石还有吃,不喜欢篮球足球和dota,恐怕我很难和有这些爱好的同学有交集了,试过但自己并不开心;读起小说科幻历史哲学,心里才会感到宁静无忧。有时候觉得自己是文科生的骨头却是理科生的命,觉得最大的孤独是自己的兴趣不被人认可,觉得人生的意义不过尔尔。

读到拜伦,才知道拜伦式人物的风格,倔强叛逆却又忧郁孤独。每一个词语都对我的内心有很强的冲击力。德国的下水道工人需要读尼采才能克服工作时的黑暗。我想,对于码农也适合。谋生不是人生。

所以,研究生是过渡阶段,这句话一点也不假,因为心态上其实已经变化了,但没有其他直接离开的同学剧烈罢了。

等到研二研三之间的时候,忙的已然不知东西南北,我也不长期呆在宿舍里了。开始奋战在新主楼,奋战在代码行间,脑子里只想着《悟空传》中的那凝固在传说之中的身姿。直到现在,我才长嘘一口气说道,或许我未曾辜负时光。

本科

积累技能,积累知识,编程行业其实老老实实学下来的话,学生的编程能力我感觉大三就可以平均都超越老师了。所以才有了以后那么多的不以为然。

那个时候,比研究生还迷茫,还不知所措。只好看着别人的成就和幸福在一旁欣羡。

当然,现在还能记起来的都是当年的点滴。比如,第一次独立坐火车是和S神,第一次去取钱是小F帮我操作的。身为软件工程的学生,大一上没有电脑的窘迫等等,哈哈,说多了都是笑点。

那些人,那些事,不打算展开讲了,任那些记忆在时间的流逝中逐渐消磨,我坚信当我想的时候,他们就会浮现。

总结

写到后来,感觉已经写的乱了,不如2014年那篇更有条理。不过老老实实反映了此时此刻的心态。言者无心听者有意,读别人的体验可以知自己的得失,希望大家都能有所感悟吧。

最后,我用一首小诗来结束本文。在这里给大家说一声Happy New Year!

岸·向北航行

我一路向北
放眼望去
是绿色的森林
是潺潺的流水

但我是魔
所过之路,烈火狂噬

终于,我来到了这里
东西纵横,深不见底
我,不得不过去
神说,彼岸美如仙境

我攀援而下
峭壁上,都是宝藏
将生铁磨为匕首
把藤蔓缠成绳子

爬上去
比想象中的费力
匕首锈蚀斑斑
绳子断断连连
错过了太阳
也错过了星光

终于,我到了
这里,除了沙漠,什么都没有!
神骗了我?
不,这里也没有火
没有火
我就可以把这里
变为仙境!
用我的汗水!!
本站总访问量次 && 本站访客数人次 && 本文总阅读量