回答来源:AI Chatbot(chatgpt国内免费版之一)
这是chatgpt的回答
挑重点:总之,C++是一门广泛应用于计算机领域的编程语言,对于掌握它的程度,需要根据所在的行业和公司,选择相应的学习内容和深度。
c++他是一个很泛的范畴。根据你想选择的方向,你需要去细化学习的技术内容也会不一样。
简单点,学会即上岗:QT
优势在于简单易学,门槛低,也不需要依赖其他的开发环境,却能跨平台。
QT开发你需要掌握:
c++语言基础,c++新特性,数据结构与算法
QT入门技术
常用控件 布局 图形 以及文件操作
还需要掌握一定的数据库知识,mysql数据库
进阶一点 再掌握openCV openGL
最后再整点小项目练手就可以去投简历了。
其次就是音视频方向
对于学历较好,语言基础扎实的同学可以考虑。
其优势就是岗位壁垒高,薪资十分可观,难点在于岗位不好找,需要自己多花时间在公司的招聘信息和筛选上,其次就是要有一定技术能力。
音视频开发你需要掌握:
1.音视频基础知识(音频、视频)
2.ffmpeg-必学(命令行、API编程以及项目)
3.流媒体客户端(直播=rtmp、音视频通话、点播=HLS)
4.流媒体客户端(SRS)
5.webrtc(重点以及难点)
6.备点项目
最后就是c++后端开发
以硕士学历 985 211学历为基础更佳,校招面向的岗位也是一线大厂
难度系数更高,掌握技术内容也需要更全面。当然对应找工作的起点背书也会更好!
c++后端开发你需要掌握:
1.c/c++语言
a.队列,栈,环形队列,双向队列等
b.二叉树,红黑树,hash,b树,b+树,设计模式等
c.c++新特性,vector,list,set,map,
d.智能指针,function,makefile,git,gdb
2.网络(重点)
a.网络编程(socket、多线程多进程、select/poll/epoll/io uring、reactor)
b.网络原理(tcp/udp/http、wireshark/tcpdump、tcp的11个状态、服务器并发IO如何处理等)
3.基础组件
a.池化技术(内存池、线程池、连接池、请求池)
b.高性能(原子操作、ringbuffer、无锁队列、定时器、分布式锁、slab)
c.开源(日志、网络库)
4.中间件
a.数据库>>>mysql
b.缓存>>>Redis
c.消息队列>>>kafka
d.rpc>>>grpc
e.代理>>>Nginx
5.框架
a.dpdk
b.skynet
c.openresty
d.cuda
6.devops(开发与部署)
a.docker
b.k8s
7.性能分析
a.gtest
b.性能测试
c.火焰图
d.bpf/ebpf
8.分布式
a.分布式文件系统ceph
b.分布式数据库tidb
c.etcd
相比于之前的两个方向来说,c++后端我们需要掌握的技术内容会更多。难度系数更大。
校招是这个方向的同学,喜欢看视频学习的推荐c++后端视频教程
喜欢文字类型的同学推荐这个GitHub上整理的1000篇c++后端开发系列文章