• 我的四年大学编程学习生涯
  • 心源 发表于 2016/3/12 17:12:00 | 分类标签: 程序人生 编程 大学编程
  •  写博客也一年多了,还没有写过什么总结方面的东西,前天在V2EX上面发了一个关于C++应届毕业生的疑惑的帖子,然后昨天晚上想了很多,所以突然想写写大学4年来的种种情况。

    自高中起就对编程很感兴趣了,当时很“天真无邪”,想学编程就是为了写一手外挂来帮自己玩dnf,所以高考报专业的时候就冲着计算机来了。当然,由于高中沉迷小说和游戏,所以只考了个二本学校。

    如果你以为我会讲一个喜欢编程的学生在大学里苦学编程的励志故事,那么对不起,让你失望了。

    大一

    和大多数同学的想法一致,觉得大学的美好生活来了。由于高考结束的时候接触了lol,之后就一发不可收拾,每天和大学室友或者高中同学大战lol。由于天赋不错,相比其他同学,我进步很快,所以在这里找到了一种满足感。值得一提的是,由于我的天真无知,考试前完全没有复习,高等代数1挂科了,大学唯一挂科的科目啊!后来假期回来恶补了一星期,成功过了补考,大一就这荒废掉了。

    大二

    这一年比起大一来说,好了一些吧。我会在上课的时候自学汇编(什么?你说为什么是上课时间,因为下课后还要lol啊),比起高中的时候看汇编,这次轻松多了,一遍下来畅通无阻,而不是高中那会儿看汇编,完全看不下去。然后在大二下学期的时候开始看一本《orange's 一个操作系统的实现》的书,这本书教我们从引导开始,一步步编写一个简单的OS。对于当时的我来说还是有些挑战吧,没能一口气看完。

    要说大二最重要的是什么,那应该就是碰到了一个好老师吧。他姓蒋,就称他为蒋老师吧。他上的课是我大学里唯一一门认真听完,从没翘过课的课。蒋老师教的是数据结构的课,上课从不读ppt,也不按照课本讲,只需要一根粉笔,就能从南扯到北,从东扯到西。我从他那吸收了很多知识,从那时开始,我才知道了数据结构是什么。这之前的我一直以为数据结构就是C语言里面的struct,我会想这么一个东西就能开一门课,好厉害的样子。然后就是这门课的大作业了,蒋老师给了我们很多题目,让我们自己选,我就选择写一个通讯工具。当时按照孙鑫老师的视频,边学mfc边开发程序。。

    在暑假里,我完善了这个通讯工具,实现了nat穿透的功能,使得两个客户端可以直接通讯。还因此去看了tcp/ip详解。然后在威客网上接了人生中的第一个项目,是个计算机化学方向的研究生给的,他只会化学,不会计算机,然后又调剂到了计算机化学的方向,所以他们老师要求他做的软件他做不来,就上威客发任务了。看我是个学生,就把任务给了我。内容挺简单的,就是提取数据,然后通过公式计算,画出折线图。

    大三到现在

    说起大三,应该算是一个比较大的转折吧。首先很重要的一点,我在大三的9月份从0开始,在一区单排上了砖石,当时我自己那个区的号还是黄金,所以说不要小看黄金,他们可能只是没打排位而已。上了砖石之后,我对lol的执念也就没了,所以之后就不再没日没夜地玩了。在一次偶然的机会,我接触了一些培训学校的C++教学视频,这突然就颠覆了我对C++的看法,就像C++ 程序员自信心曲线图上面的情况,在看视频前,我也是自信心爆棚,以为C++就那么点样子,早就掌握了。后面看视频后慢慢了解到C++原来还有这么多特性,大三上学期就照着视频入门了C++,并且粗略地看了一遍《设计模式》。

    对我来说,人生中最关键的一个时期,那绝对就是大三的那个寒假,出于想在大三下学期找个实习,然后在网络浏览浏览的时候,莫名其妙就发现了腾讯啊,阿里的公司都招实习生,于是乎我又看到了一些面经,发现了原来别人都是这么牛的。痛定思痛,决定好好学习。那一个寒假我就每天早上起来看两集MIT的算法公开课,下午到晚上看看书。一个寒假的时候,把算法学完了,看了一本《Effective C++》、一本《CSAPP》。

    之后就开始大三下学期了,从我博客的开始时间就可以看出来,我是从15年的3月份开始写博客的,开始写博客的契机很有趣,容我在下面给大家来说明。

    在三月份我表哥找到我,问我会不会移动端的编程,他说他有同学要创业(我称他同学为黄哥)需要人手,然后我就萌萌哒地说不会,然后黄哥就说可以让我选择iOS或Android来学,我说我有C的基础就学OC吧,于是乎我就开启了iOS学习之路。画风不对啊,说好的写博客的契机呢?由于学iOS需要mac,所以黄哥就把他的mac借给我用。重点来了,当时虽然学着iOS,但是我仍然有着一颗C++的心,我感觉需要做点什么。我决定开始做笔记,因为我现在有两台你电脑,一台看pdf,一台做笔记,正正好啊!我从小学开始就从没做过笔记,我的第一次竟然要在这里捐了。于是乎我每天白天里学习iOS,然后晚上就做两个小时笔记,然后想着,反正也做了笔记,就弄个博客传上去吧,我的博客就是这么诞生的。

    那段时间是真的认真,除了上课就是看iOS视频,然后晚上都固定两小时的笔记时间,所以就3月份和4月份两个月份,我就学习了《stl源码剖析》、《Effective C++》(第二遍)、《设计模式》(第二遍)。顺便提一下那个iOS的项目,由于各种原因,那个项目不做了,所以到头来我只是学了iOS的视频,而没有真正做过东西,所以现在几乎全部忘光了。期间我参加过腾讯,阿里,360的实习生笔试,全部挂了,现在想想也挺正常的,一个混了3年的二本学生怎么和那些好好学习的211,985们比。当然了,我个人认为单论智商我应该还是有211的水平的,但是这只是小聪明罢了。真正有用的是智慧,这是需要靠积累的。

    5月份,之前的那个研究生又来找我了,让我做毕设,问我会不会QT,我当然不会啊,我说我可以学,他说给我两个月时间做完。我就答应了,然后花了一个月的时间做完了。但是这个项目给了我一个很大很大的启示,写程序简单,维护难。在这之后,他找了我不下10回,都是各种新的需求问题啊,bug啊之类的。而且我还要负责教会他这个程序,好让他去答辩。

    写到这,我突然发现了博客的一个好处。它会记录下你的时间线,当你回忆的时候,就很容易想起当初干了什么。

    6月份我的博客没有记录,仔细想想应该是应付考试呢。毕竟一学期一度的考试周要到了,所以我就开始补之前没听的课程。考完试我就去招聘网上投了些实习岗位的简历,找了一家很坑的公司去实习。

    7月份到8月份在这家很坑的公司实习了1个多月,主要做的工作是,基于duilib库,开发界面。后面感觉这不是我想做的工作,就跳到另外一家游戏公司。我应聘的是C++岗位,进去后安排我做lua,然后又是画界面,画界面,画界面!但是给的月薪很高,所以我就没舍得走。一直干到11月初,迫于学校还有6门课,不能完全不去上课,所以就辞职了。在两份实习工作的期间,我自学了《深度探索C++对象模型》,《UNIX环境高级编程》,《编码》。对了在这里推荐一个书单,我在这上面找了很多要看的书。在实习期间我也投递了各个大厂的校招,最后仍是颗粒无收,唯一有戏的就是搜狗了,面了两面,面试官都是当场说我通过的,最后headcount4个,我只排第10,真的感觉好可惜。

    回头看看,发现我15年1月到11月过得确实挺充实的。但是其中还是有一些“垃圾”时间的,我还是会和高中同学或大学同学开开黑,虐虐别人(之前说了,我在自己这个区只有黄金的段位,后面打了10来吧,打到白金了,所以打匹配还是赢多输少的)。当然也会关注lol的赛事,我是一个WE粉丝,从S2开始就对这支队伍情有独钟,虽然他现在没落了,但是不影响我对他的热爱,所以只要WE有比赛,我是每场必看的。前面我给垃圾这个词加上了引号,这是因为我觉得这些时间其实也是弥足珍贵的,以后可能很少有机会和同学开黑了吧。

    之后的11月份到12月份,我在MIT的公开课中开始学习线性代数(之前数学学得一直很烂,所以想再学一遍),只学了19集,还有就是边学边翻译《Effective Modern C++》,无耻地推荐一下我的翻译专栏。最后就是背单词了,之前靠着周末的一点时间,自己写了个背单词的软件,需要自己输入中文和英文意思,这么设计的原因也是想让自己记忆得深刻一些。背单词是从9月份开始的,一直背到了12月份。每天20个,总计有2000多个单词吧。

    接下来放假了,就进入了疲软期,也就是说没有之前学习地认真了。我几乎每天都睡到很迟,看书什么的也常常分心,看着看着就去浏览网页,或者刷知乎了。说道知乎我要说一点,知乎真的很浪费时间,因为我对知乎的浏览总是在做深度优先搜索,看了一个答案,觉得不错之后,我就会点开这个人的首页,去看他的回答,然后又发现新的人,新的答案,有时候这么一看就是一天。还有就是差不多每天都在lol一直玩到了2月份。回家过年那些天也完全没有学习,每天看看动漫,过过日子。

    然后2月20号左右回学校了,开始找实习,面了很多很多家,不知道为什么都被拒了,每次面试的感觉都挺好的,然并卵。到今天(3月12日)为止,收到两个offer。这个星期一发生了一件很重要的事情,我在博客园的短消息中收到了一条私信,是有人说他一直在关注我的《Effective Modern C++》的翻译,这给了我很大的支持。因为这样我能感受到我翻译的东西还是有用的,还是有人会从中受益的。我非常感谢这位博友(从博客上认识的就叫博友把)对我的认可。

    总结

    我现在每天都感觉时间过得很快,恨不得每天能再多几个小时给我用。但是即使我现在每天觉得时间过得快,我现在的时间流逝速度比起大一和大二是真的慢了很多很多了。何以见得,因为我现在回想起大三那个寒假,我会觉得是很久以前才发生的事情了,再回忆一下,这一年确实也学了很多很多东西,这和之前的感觉是完全不同的。之前大一和大二过完的时候,我的感觉都是,什么?一年就这么没了?也太快了吧。所以说,知乎上面回答说的好,让自己走出“舒适区”,尽量让自己待在“学习区”。我个人的一个缺点就是,我很容易待在“舒适区”和“恐慌区”,我有时候考虑一个算法能考虑一整天,然而还是没有想出解决办法,这就属于浪费时间了。所以尽量让自己待在“舒适区”吧
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:心源
  • 加入时间:2013/5/14 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮