转自:http://blog.csdn.net/lingfengtengfei/article/details/12884465java
其实找工做以前一直很忐忑,或者说不是很自信,由于各类传言说14年就业难。实验室的项目逼的有些紧,在四川作项目,腾讯实习面试都错过了。4月底回到学校给实验室申请不去实验室,准备看书。----此为题。linux
1、毫无亮点的自我介绍nginx
二本师范类本科,大学四年,只学会了MFC。用MFC作了几个垃圾的不能再垃圾的管理系统。没有看过任何一本经典书籍。当时就准备考研,考到了华科。程序员
到了实验室,发现实验室对本身彻底放养的,不干涉本身的发展,本身有疑问能够问老师,老师会解答。可是具体怎么学仍是要靠本身。在网上搜集资料,看windows内核方面的东西,绕了不少弯路。无心间看到了一篇讲程序员怎么升级的博客。里面提到了多读经典书,不要读国内的书尤为是XX天精通XX,XX从入门到精通一系列的书,当时就把VC详解给甩到了一边。在豆瓣上找7.5分以上的书。面试
开始了梳洗脉络,重练武学的过程。研一的时候要助教,当时活很轻松,就坐在办公桌上看书《C++ primer》和《C和指针》。跌跌撞撞的入了门。感受很菜的时候,实验室要让参加项目,我作端口控制。期间把《windows核心编程》过了一遍。驱动层的彻底不懂,在网上非常推荐《windows驱动开发详解》这本书,买了以后才发现大部分是对DDK开发文档的翻译,非常失落。偶然的逛论坛的时候看到了《寒江独钓》这本牛书,才堪堪入了门。这时候已经下学期了,实验室让我主导负责特种木马检测研究的项目,花费时间好久,可是给个人感受确是杀毒这方面是一个巨坑,一个彻底没有市场的地方。被数字公司流氓了这么长时间,杀毒市场再也不天真。转身回想,本身的确站错了队。决定学习linux,当时实验室就一个学长研究linux,并且他看一本linux一站式编程,我粗略了看了一下,基本上是在讲C语言;而后在书架上翻出来暑假买的《鸟哥的linux私房菜》对比了一下,仍是鸟哥的牛逼,还没看完的时候,实验室准备外派我去四川作项目,项目周期就是研二一年。而在去以前有2个月的准备时间,把《Effective C++》,《C专家编程》,《unix高级环境编程》《深度探索C++对象模型》《STL源码分析》占了半箱子的空间,问我徒弟借他的kindle存了几本大头部的书《C++标准程序库》《C++ primer》《C算法》《程序员的自我修养》《深刻理解操做系统》,在四川的一年中通常是下午5-6点下班,本身作饭花一个小时,看会电视(没有网),最后抽空看一下书,其实当时完成的并不理想,kindle里的书只看了不多不多。算法
2、发奋的起源shell
从四川回学校以后,刚刚是腾讯离开武汉。实验室4我的拿到了腾讯的实习。当时阿里还没开始,准备发力阿里。天不从愿的是,阿里笔试委托给51job的人经办,我报的安全岗位,笔试时间一个小时,试卷单独出的,而51job的工做人员把我安排到软件测试的位置上,发下试卷我看了一下一个小时作完颇有难度啊,而后问了一下工做人员试卷搞错没,一个小时怎么可能作完?获得的回答是你作你的就是。一个小时事后工做人员说安全的时间到了赶忙交卷。当时还没作完,就郁闷的交了试卷,准备回宿舍。回到宿舍没过多久,51job的人打电话说,很差意思把你的试卷发错了,你有没有时间重作一下? FXXX编程
好吧,周围的人都去实习了,剩下我和江南烟雨苦逼的娃相依为命。冥思苦想本身的优点和劣势,感受作windows方向不是太合我口味,windows常常坑程序员,2年一个新的开发环境,一个操做系统的迭代,win 32 api一变再变,发觉本身的经验得不到长期的梯度积累。又想了一下linux,改动的仅仅是内核,通常编程内核态的api是不影响老旧的程序的,这样程序员能够更容易的积累经验。我打算完全的叛变了。windows
和江南建了一个群。订了一个学习计划,讨论了一下学后台开发的可能性。设计模式
3、书单与执行力
语言经典书:
C:C程序设计语言(K&R)->C和指针->C专家编程->C陷阱与缺陷->你必须知道的495个C语言问题
C++: C++ primer -> effective C++->深度探索C++对象模型 ->stl源码分析->C++必知必会
java:java编程思想->java并发编程->深刻理解Java虚拟机:JVM高级特性与最佳实践
算法经典书:
算法导论->数据结构与算法分析(维斯)->编程之美->剑指offer
系统经典书:
无关平台:
深刻理解计算机操做系统->编译原理(龙书)->程序员自我修养
TCP/IP协议详解v1
linux:鸟哥的linux私房菜->unix高级环境编程(必看,熟读,彻底消化)->unix网络编程(卷1&卷2)->unix编程艺术(进阶)->linux shell脚本攻略(短小精悍)->linux内核设计与实现->深刻理解linux内核
windows:windows核心编程(必看)->深刻理解MFC(经典)->windows内核情景分析(上下)->寒江独钓windows内核安全编程
视野:
linux多线程服务端编程
深刻理解nginx
深刻剖析nginx
调试:软件调试的艺术(强烈推荐!!)
设计模式:headfirst设计模式(强烈推荐!!)
linux系列的书基本上是和江南一块儿看,晚上一块儿讨论的。最后看完apue以后我提出要搞一个线程池,我写了几个线程池的必备条件,而后我用条件变量实现,江南用信号量实现,如此等等
执行力可能都是头疼事,一个好的基友会帮助你不少,有疑问提出了你们讨论,讨论过程当中能够学习到书本上没有的知识,笔记共享(是的,我和江南的onenote笔记是互相共享的),学习的进度是十分可观的,消化知识的速度也很快。实战经验是通常互相提需求实现,动手能力也相应的增长了。
其实看这么多书,最重要的仍是灵活的运用,也就是知识的迁移能力,这方面要刻意的锻炼:例如,你看完了unix高级环境编程后,应该梳理一遍笔记,而后本身尝试动手写一个demo例子把里面重要章节的知识串起来,你能够写一个线程池(9,10,11,12),而后用这个线程池实现生产者消费者问题,完成一个聊天服务器,给这个程序写一个守护进程,监控程序的运行状态……
4、基友是无价的,自信是面试的不二法宝,基础牢固是自信的基石。
看书可能是基础的基础,可是有好基友一块儿学习是真正无价的。
不用看什么面经笔经,那些不是过重要,重要的是把本身的基础打牢,自信满满的,震住面试官。
一个肚子里全是干货的你,加上信息满满的脑子,好吧,我没法想象你的破坏力了。。。
君不过万里征程腾高路,只愿枝鹤溪头盼归家。君得意高朋越江穿水散四方,不忘青头高歌埋头苦。
还等什么呢?赶忙勾搭你的基友,一块儿看书讨论,收割offer!!!
改变命运须要你付出别人多倍的努力!
有志者,事竟成,破釜沉舟,百二秦关终属楚;
苦心人,天不负,卧薪尝胆,三千越甲可吞吴。