@
itsuibi 首先从APUE上,把每个重要的例题都敲一遍,重点是文件IO进程线程这些
然后看UNP吧,看TCP/IP、socket、select/poll这些就差不多,SCTP这些都没人用,不用看了,然后从网上搜搜epoll,学习一下。在看这些的时候 一定要动手看看源代码,推荐FreeBSD+Linux一块看,比如netinet/in.h这个头文件中sockaddr_in结构体,Linux 下的就和FreeBSD下就不一样,顺遍谷歌一下,印象肯定很深。
这时候,可以写一些Demo项目:比如单进程TCP服务器(从最简单的echo开始),多进程、多线程、select、一直到epoll。
然后对Linux 网络编程有初步了解
之后可以看看memcached的源代码,从网上找份别人整理的文档,调重要的部分看一下。
然后自己实现一个简单的。期间可以学学libevent或者libev这两个库(推荐libev)。
然后可以找份文档,看看Niginx源代码,这个可是好东西。Tengine(阿里fork的nginx)的文档不少
然后自己实现一个,简单的就可以
期间你可能需要温习TCP/IP的知识,了解HTTP的知识。
到这里,基本能满足校招或者初级后端工程师或系统工程师的能力需求了
当然必不可少的要刷题~~~leetcode 剑指offer 编程之美 微软100题 等等~~~