目前我是即将升大三的学生,身处无名二本。一直想走 C++服务端方向。
我的学习情况时这样的:
大一一整年入门 C 语言以及学习数据结构与算法(基础的东西会,但是像红黑树这类比较复杂的,就只是处于看的懂的状态),linux 是大一下学期开始使用的,目前已经习惯了使用 linux(vim、gdb、makefile 之类的会基础的命令,但是感觉很少用到 sed awk 这类工具);
大二上学期阅读 csapp 和 tcp/ip 详解,csapp 反复看了几遍,tcp/ip 只读了一遍(因为学校也在开这门课,我是学完了再读的 tcp/ip)。
大二下学期写了一个简单的 os 内核(真的很简单的那种,而且是读别人代码,然后再自己敲上的那种)。
C++阅读过 primer 和深度探索 C++对象模型,目前正在看 stl 源码剖析(稍微有点费力,看到关联容器的时候)。
apue 这本书过了几遍,不过比较偏的东西还是不怎么熟,比如消息队列这些书上没有讲的很清楚的地方。
网络编程是网上找的资料看,unp 只是作为参考翻了一下。在大二下学期的时候做了一个用 epoll 和线程池实现的简单的 http server 还有也尝试写了个简单的 ftp(很 low 的那种)。python 的话基本的语法会,但是不是很熟练。
现在正在自学编译原理和看 libevent 源码。
后面的想法是再阅读一下 nginx 的源码。然后了解下设计模式这类知识。后面的时候就准备复习了。
由于我大三下学期即将找实习了,个人比较向往 BAT 这类大公司。所以想请大家给点建议或者指导(不管是知识上的,还是工具上的或者面试上的)。在这里先谢谢各位了!
(以上说的阅读过学过由于可能时间原因或者其他因素并不代表完全掌握了,如果引起您哪里不悦,请多包涵)