就要毕业了!

距离上次发表 blog 已经大约七个月过去了,这七个月对于我来说既是非常充实的一段时间,又是一段复杂而失落的日子。 简单来说,今年(2016年)三月我就要毕业了,在这七个月里基本上是在做找工作的准备以及进行各种面试。 从五月开始到九月左右主要的工作就是完成 Google Summer of Code 的任务以及每天有计划的刷算法题。 之后的一两个月是一段不太愉快的找工作经历(哭)以及完成毕业论文的工作啦。

先来总结一下这几个月的收获吧。从上次 blog 结束到现在的这几个月最大的个人技能上的收获就是有计划的进行了算法练习。 除了将当时 LeetCode 上的题目全部过了一遍,还参照 《挑战程序设计竞赛》 这本书当中的内容,将大部分初级和中级的内容学习了一下。然后就是根据这本书上的内容在 POJ 上进行练习, 个人感觉在算法水平上提高了不少, 学习到了很多有趣的技巧,现在自认为能解决 ACM 中等难度左右的题目了。 我将大部分练习过的题目总结到我在 Gitbook 上的 Algorithm Notes 当中了,欢迎有兴趣的同学围观。《挑战程序设计竞赛》确实是一本非常好的竞赛级别的算法学习书,也推荐大家学习。

算法练习的另一个成果是 TCHelper,它是我为了练习 TopCoder 上的算法题而开发的一个小的 Web App。我主要是在 TopCoder 的练习区进行进行练习,并不参加 Contest, 而 TopCoder 提供的竞技场和题目查看页面因为包含非常复杂的业务逻辑,导致页面非常卡顿,用户体验不佳。 因此我需要一个单单把题目抓下来以一个比较清晰美观的形式展示出来的应用。此外,TCHelper 还能帮我设定练习计划——每周程序会随机挑选一部分指定难度的题目,通过发邮件的形式提醒我完成。 我从 TopCoder 上抓取了大约 2000 道题目,这些题目可以使用 gettc 这个小工具 在本地 Judge。这样题目做起来就方便很多了。我将 TCHelper 部署在自己的 VPS 上,现在可以直接注册使用。它的源代码在 Github 上开源了。

TCHelper Problem Statement

此外就是 Google Summer of Code 的工作了。尽管平心而论我那几个月放在算法练习上的时间要比这边的工作更多一点, 但是总算还是在 Season 结束之前完成任务通过了 Evaluation。个人还是比较喜欢这种自由的开源开发模式的, 我负责的虽然是一块前端方面的完整模块,但是大多数情况下都是由我自己来决定界面交互的特性和设计。 虽然我不算是专业的设计师,但是看起来 Mentor 对于最后的结果还是比较满意的。 当然做 GSoC 最大的收获之一还是活的了不错的经济收入。之前提到过我在交大加入的一个技术类的社团 SJTUG 2015年有四位同学成功申请到 GSoC ,今年大家又组织起来准备今年的申请了。可惜作为毕业党的我已经不能参加了。

说完了收获的部分,接下来就要说一说不怎么愉快的部分咯。去年找工作的那几个月确实是压力和精神波动特别大的一段时间。 总体来说虽然最终能够去到一个还不错的小外企工作,但是我对自己在校招季节的表现还是不甚满意。 总结起来大概有几个方面还做的不好:

  1. 过于高估自己的能力,受到打击之后心情又非常低落。也就是说对自己的实际水平不能有很好的评估,严重影响了决策和选择
  2. 自制力和执行力还比较差,注意力也总是容易被琐碎的事情吸引过去分散开来,因此对时间的利用相当不充分
  3. 没能隔绝的干扰,整个校招季节心情一直受到外界的影响,在情绪高涨和情绪低落之间来回摇摆,内心还不够坚强
  4. 放弃了很多机会,抱着毕其功于一役的想法没有做好备选方案进行缓冲,导致心理压力非常大又没能好好控制
  5. 没有好好的定制中期和长远的计划,导致在研究生阶段的前半部分过于放松,到最后阶段才紧张起来,此时很多方面已经来不及弥补了
  6. 自己在很多方面的技能还有确实还有很大缺陷,比如写算法问题代码的熟练度还不够,英语的水平也有很大的差距,面试的经验也很不充分

总之,在去年的校招季节当中发现了自己的很多不足,从技术能力到心理素质都没有达到无懈可击的水平。 最后虽然还算是有一个比较好的结果,但是没能达到完美也是不可避免的。就我个人而言, 目前还在不断的调整和适应自己的心态的过程中,很多原来觉得已经凑合的技能最终证明还差的很远, 受到打击的自信心还需要慢慢恢复。

总之,2015 年是一个让我既觉得充实而富有成果,但是又有些失落的一年。在 2016 年我将会毕业成为一个工作党, 在经济上有比较稳定的收入之后我要继续投资在个人的提高上,目前的计划是在已经有点上瘾的算法方面继续进行练习, 英语方面也希望寻找一个靠谱的培训机构进行一点提高。此外从目前掌握的情况来看未来的工作应该不会特别忙碌, 使得我有时间出去见一见这个世界的其它地方,因此也预计将会安排更多旅游活动。

最后也希望新的一年能抽出更多的时间来沉淀总结自己新获得的各方面经验和知识,保持每月可以完成一到两篇 blog 。