x 是做服务端开发的,windows的书不用看了,机制跟Linux很多都不同的。
linux不熟悉先看*鸟哥的那本《鸟哥的linux私房菜》繁体版,简体版的语言太装B不好看,之后把C语言学扎实,做到可以在linux系统自己建立开发环境,写点简单的Makefile,这些推荐看《系统程序员成长计划》,这本书虽然垃圾但是提到的知识点都很实用,适合速成。
看完这些你基本可以写些小例程了。之后看APUE,就是UNIX环境高级编程,然后UNIX网络编程UNP,其实UNP的很多内容跟APUE有重复,建议挑着看看就好了,用时再翻。
APUE是经典中的经典,一定要多看几遍。
看完这些就开写,自己随便写,比如用TCP实现个群聊天程序(不用UDP),读Libevent代码,这是reactor框架异步事件处理的经典,看FTP或者telnet源码理解应用层协议的概念,之后基本上该学什么自己心里就有谱了。
单机服务器进程会写了就开始了解架构概念,一致性哈希算法,hadoop,MapReduce,还有文本传输协议XML,google protocol buffer,等等,这些都是后话了 。
算法方面,那些排序算法,哈希,图论,贪婪算法,分治算法,斐波那契,很常用,数据结构就是数组,链表,树,堆,栈,在分布式应用中红黑树是常用的
暂时就这些,都弄懂了就OK了。