作为一名C++程序员,做后端开发,想在互联网开发热潮中有一席之地,就需要了解未来的工作所需要用到的一些技术栈。没有学习的意识和有学习的意识结果是不一样的,有学习的意识但是犯懒偷懒跟有学习意识并能时刻保持学习状态又是不一样的。

先列一下目前我能想到的:

1. c++语言,面向对象, stl库等

2. linux操作系统,各种调试器(如gdb)和编译器工具(makefile,gradle)

3. 常用数据结构(表、树、图等)与算法(查找、排序、动态规划、最优路径等)

4. 设计模式(23种,常用的如单例、工厂、命令、访问者等)

5. 多进程、多线程与并发处理

6. 网络编程(包括socket,i/o模型,多线程 多进程等)

7.关系型数据库(mysql 等)

8.常用的开源服务器(nginx, redis等),熟悉源代码,能做定制开发

9. 掌握一门或多门脚本语言(shell, python)

10. 常见网络协议(tcp/ udp,http,  音视频相关rtsp,rtp.rtcp, rtmp等)

11. 容器技术(Docker等)

12.云原生

目前先想到这么多,以后眼界高些了继续补~
生于忧患死于安乐,安于现状是万万不可取的,要时刻自我督促、自我驱动,尤其是现在IT行业吃青春饭的风气下,必须要保证自己不断进步,技术深度和广度也要与时俱进!这样才能不被后起之秀拍死在沙滩上~

更多推荐