大三前感悟
最近,我刚刚看完《UNIX网络编程 卷1》,感觉应该要停一下,思考下一步应该学什么,怎么学。
目前已经看完《鸟叔linux》和《UNP 卷1》了。在看这两本大块头的时候,心情是比较浮躁的。刚刚开始时我的热情很高,效率也不低。然而学习一段时间,由于书很厚,加之基础知识很多,全都是新的知识,记忆负担有点大。虽然说是可以不用全部记忆的,用时再查即可,然而即使是想要把知识点串起来也很难。新知识也不是一读就能理解的。这种情况造成自己内心很急燥,想要尽快把书看完,前面章节又不全理解。心情浮躁导致的最严重后果是完全没有心情去看书了,只想躺着….时间并不会等人,压力并不会自行离开,想要克服这种情况就应该要改变思想,还有想办法解决大块头。(下文学习方法处再提解决方法)
为了追求看书效率,尽快补完linux后台开发基础知识,就没有时间打代码了。我指的打代码,是指完整的项目代码,书本上的代码有注释,很容易读懂,感觉没有重复再写的必要,只是会认真的做笔记。没有打代码,另一方面也导致我看大块头时候热情的下降。每天都是看书看书看书…
不知不觉到了大三,大三下学期就要正式找实习了。很希望能够去到BAT或者其他好的公司实习。剩下的时间不多,一个学期多一点。最近看了几篇别人的博客,感觉他们分享出来的面试时遇到的问题都好难…
即使再困难也没办法,只能顶着压力上。
学习方向
其实学习的方向早就定好了,就是linux后台开发。最开始编程是从做网页开始的,接触了html、css、php,主要负责使用php完成后端业务逻辑,数据库操作等,期间为了配合前端开发,也学习过js、jquery、ajax。然后,随着见识广了些,发现php处理的网页后台并非是后台开发,后台开发应该偏向网络编程。对前端也没有兴趣,在大二下学期就慢慢倾向linux及网络编程。
决定了这个方向,就要知道要学些什么东西了。为此我专门看了腾讯校招要求,也在知乎上找相关的东西。很幸运有许多巨人前辈的经验分享,让我们这些小白知道路怎么走。
第一个博客废话好多…谈谈接下来要读的书单:
linux:《UNP 卷2》
tcp/ip:《tcp/ip 卷1》、《effective tcp/ip》
c++:《effective c++》、《STL源码解析》
设计模式:《大话设计模式》
面试算法备考:《剑指offer》
系统:《深入理解计算机系统》
谈谈要做的项目:
学习网络编程库。
实现一个简单的http服务器。(具体怎么做还不清楚)
阅读lighttpd源码、muduo源码。
做这些事情是有顺序的,因为c++书籍阅读比较困难(之前effective c++和STL源码解析都接触过),所以应该放在unp、tcp/ip的后面。看完unp、tcp/ip之后,就去学习网络编程库。之后,可以一边实现http服务器,一边阅读c++(实现服务器为主),最后在阅读别人的源码。
方法
希望可以经常反省,掌握好的方法,提高学习效率。
-
针对大块头的方法:
思想上:套用傅园慧的话,之所以还在挣扎,是因为自己还没有放弃。
方法上:- 读大块头期间,可以常写写博客,反思下怎样提高效率。
- 可以刷刷别人的博客,看有什么好经验分享。多点运动。
- 还有最重要的一点是,要意识到,并非整本书几百页都需要一字不漏的看,要抓住主线、原理性的内容,对具体实现只粗略做笔记。也只理解自己相关的部分,譬如TCP/UDP的知识。ip、多播、sctp什么乱七八糟的,有需要时再看吧。
- 再者,别再担心知识点会串不起来,看书过程中,记录好笔记,另一方面,看完书后,可以刷博客看别人总结好的,站在巨人的肩膀上,追求最高效率。
坚持在印象笔记上做笔记,要改变的时,不需要全部知识记录,而是只记录 是什么,为什么,缺陷是什么。
多点运动。
休息好,状态才会好,才会有学习的节奏。
目标:腾讯后台实习生,最期待部门是QQ音乐、微信。
真心希望自己在腾讯校招实习生前,能够完成上面的任务。
2016.08.31
yxc