作为一名C++程序员,尤其是想在互联网开发热潮中有一席之地,转做后端开发,需要了解未来的工作所需要用到的一些技术栈,好为自己好好规划未来的职业生涯。
先列一下目前我能想到的:
1. c++语言,面向对象, stl库等
2. linux操作系统,各种调试器(如gdb)和编译器工具(makefile,gradle)
3. 数据结构与常用算法
4. 设计模式
5. 多线程与并发处理
6. 网络编程(包括socket, i/o模型,多线程 多进程等)
7. 常用的开源服务器(nginx, redis等),熟悉源代码,能做定制开发
8. 关系型数据库(mysql , oracle, 等)
9. 掌握一门或多门脚本语言(shell, python)
10. 常见网络协议(tcp/ udp, http, 音视频相关rtsp,, rtmp等)
11. 学会使用Docker
后面想到了再补充,要学习的东西实在太多了