本人在 2015 年校招拿了 BAT 以及网易游戏等 offer,而且基本上都给了 Special,那就从我的角度来谈谈今年校招的体会。
1. 冰冻三尺非一日之寒
综合身边一些拿到牛 offer 的同学,有个共同的特点就是:热爱这个行业。一个人在某个领域的成就是和自身在相关领域投入的时间和精力成正相关的。 付出了多少,虽然短期内收益微乎其微,如果经过数年的持续努力,便会由量变产生惊人的质变。比如多读书、多看代码, 一些计算机编程方面的经典书籍、GitHub 上面一些 star 越千的优秀开源项目,绝对值得多花时间研读。
我自身的情况大概是本科期间积累了 10 万行的代码量,有了这个基础硕士期间阅读一些代码呀,参与一些开源呀,就变得水到渠成。
2. 主动培养自己的动手能力
算法方面可以适当阅读算法导论、算法引论等书籍,多刷刷 leetcode, UVa 之类的培养出一定的解题思维。 虽然说一些算法在工程中很难用到,但是解决问题的思路以及不断去优化业务代码的想法,这些意识是可以通过算法训练得到的。
一般国内的互联网公司还是比较看重项目经验这块的,也就是你曾经做过什么,能突出个性的地方也在于此了。 这个方面可以从一些国外大学课程的大作业慢慢培养,如系统设计方面经典的有:
- MIT 6.824 Home Page: Spring 2014, Distributed Systems
- CMU 15-440, Fall 2012: Distributed Systems
- CMU 15-410, Operating System Design and Implementation
如果跟着进度做完大作业的话,相信工程能力以及对系统设计的理解都会有很大的提高。
3. 核心竞争力
这个问题很大啦,那我也冒昧的说一下自己的理解。曾经很长一段时间内,我都不太清楚自己未来要干什么。 不过幸运的是,身边总有一些优秀的同学在激励自己前行(寝室 7 个人有 6 个拿到网易游戏 offer 我会乱说 :-p ), 而且在读研之初就得到 @靖难 学长的指点实在是人生之幸。那么问题来了,花了这么多时间去思考自己要干嘛就这么重要吗?我觉得非常重要。 当有了一个努力的方向,就会不断的去靠近,围绕着这个点不断探索,最终形成别人没办法轻易超越的壁垒。
4. 关于面试
面试在于突出自己的闪光点,体现自己的不可替代性。当你一步步走过上述几个阶段的时候,便会发现其实 BAT 的 offer 并没有想象中那么难, 难的是克服惰性不断的去超越自己。
找工作要从实习抓起。这并不是说实习一定会做一些多么核心的事情,而是一场面试几十分钟,面试官也无法清楚的判断你的实力, 需要从你过往在哪实习过以及拿到过哪些 offer 来对你进行综合判断。
GitHub,StackOverflow 等是加分点,参与过开源项目大加分。嘴里说出的话可能有可以虚假夸大的成分, 但是 GitHub 上面的代码提交记录以及代码质量不会骗人。我面试的过程中,就有几个面试官主动索要 GitHub 账号地址 kedebug · GitHub 并且当场登陆查看相关项目情况,这都是能够提升自身形象大大利好的事情。