从事游戏服务器开发,下面是一些需要掌握的技术栈。
从熟悉到深入,各个阶段各有侧重。
抛砖引玉,可用于查漏补缺,或者建议大家可作为平时的学习计划来规划。
编程基础
语言基础
C/C++、Golang、Java、Python、Rust等
版控系统
SVN、Git等
数据结构
数组、列表、队列、Map、堆栈等
基础算法
排序、查找、遍历等
设计模式
工厂模式、命令模式、单例模式、观察者模式、策略模式等
高级编程
语言特性
系统相关:如多线程、锁、定时器、socket接口、内存管理、性能陷阱等
语言相关:语言版本特性、语言库、语法糖、工程编译、反射、并发、继承、泛型等
汇编相关:汇编、调试、指令集
复杂算法
链表、平衡树、红黑树、B+树、图、哈希表、跳表、A*等
语言规范
编程风格、命名规则、语言坑点、编程范式、编程模式等
软件工程
软件生命周期、瀑布模型、快速原型、迭代模型、增量模型、敏捷开发、内聚耦合等
计算机系统
操作系统
Linux(RedHat、CentOS、Unbuntu)、FreeBSD、macOS等
硬件系统
组成原理、磁盘阵列、云存储等
应用系统
文件系统、网络系统、存储系统、Shell编程等
网络基础
TCP/IP协议、系统调用、IO模型等
技术架构
网络库
Epoll、Libevent、Libuv、Muduo、gev等
数据库基础
Redis、MySQL、MongoDB、PostgreSQL、Leveldb、MemCache、SSDB、HBase、TiDB等
基础架构
游戏服、跨服、战斗服、充值服、网关、日志系统、监控系统、gm系统、服务发现、负载均衡等
高级架构
微服务、云原生、容器化、大数据、机器学习、分布式消息、ORM/DAO