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