C++ 后台开发岗位知识技能树

一、语言:

a)C/C++ 语言,对象生命周期,垃圾回收,标准库,错误与异常的处理,日志,面向对象的理解,设计模式,GDB的使用,代码高内聚低耦合

二、数据结构与算法:

a)线性表:链表,队列,栈
b)树:二叉树,红黑树,字典树,线段树等
c)图:图搜索,dijkstra算法,最小生成树
d)递归:回溯
e)排序:冒泡,插入,希尔,归并,快排,堆排序,桶排序
f)算法:贪心,动态规划,分治
g)跳表,散列表,布隆过滤器

 

《链表,队列与栈》

https://blog.csdn.net/sesiria/article/details/115598797

《排序与查找算法》

https://blog.csdn.net/sesiria/article/details/115585812

《哈希表与布隆过滤器》

https://blog.csdn.net/sesiria/article/details/115875283

《动态规划-背包问题》

https://blog.csdn.net/sesiria/article/details/117947146

三、数据库

a)持久型mySql
i.MySql安装与配置
ii.Sq建表,索引,存储过程
iii.存储引擎myisam/innodb
iv.数据库连接池
v.异步数据库请求
vi.数据库集群,分库分表,读写分离
b)缓存型Redis
i.Redis编译安全,配置
ii.Redis命令使用
iii.Redis连接池/异步redis做法
iv.Redis集群,数据备份
v.缓存雪崩,缓存击穿

四、网络原理

a)命令:ping,telnet,ifconfig
b)网络体系模型(ISO模型)
c)Tcp :三次握手,四次挥手,滑动窗口,状态机
d)Udp :实时性,不带流量控制,udp的原理
e)http/https/http2.0/http3.0
f)Session,cookie,application
g)网络安全,加密,数字签名
h)Wireshark抓包工具(windows),tcpdump(linux)
i)Iperf(网络带宽)

五、操作系统

a)Linux使用(文件操作,系统操作)
b)程序的编译,允许
c)Shell/vim的使用
d)LInux系统性能监控参数ps/netstat/ef
e)进程管理
f)用户态/内核态
g)内存管理,内存池,内存泄漏
h)磁盘文件系统,虚拟文件系统,文件缓存
i)磁盘IO

六、网络编程

a)Socket编程,tcp/udp
b)网络IO模型(fd),阻塞非阻塞,异步,同步
c)IO多路复用select/poll/epoll
d)Epoll reactor, proactor
e)Time_wait/close_wait大量
f)C0K/C000K/C0M
g)网络框架的理解(libevent/libev, 协程ntyco,libco

 

七、分布式

a)RPC,grpc,tars,brpc,srpc(http,RPC调用)
b)简单rpc协议设计/框架搭建
c)协议传输的时候,序列化反序列化
d)服务注册,服务发现,
e)容灾,降级熔断,流量控制
f)高并发,高可用
g)分布式锁

八、云原生

a)了解腾讯云/阿里云
b)Docker使用
c)Docker编排,网络
d)K8s管理
九、软技能
a)沟通能力
b)组织能力
c)协调能力
d)需求分析

 

参考书籍:

1.MySQL 《高性能MySQL 第三版》
2.Nginx 《深入理解Nginx:模块开发与架构分析(第二版)》
3.Redis:《Redis设计与实现》
4.Linux内核:《深入Linux内核架构》
5.数据结构与算法:《算法导论》
6.性能分析:《性能之巅 洞悉系统,企业与云己算》
7.MongoDB 《MongoDB权威指南》
8.Ceph 《Cep分布式存储学习指南》
9.Docker《Docker容器与容器云》
10.TCP/IP 《Tcp/ip详解 卷一,卷二,卷三》
11.Linux系统编程《Unix高级环境编程》
12.计算机:《深入理解计算机系统》
13.ZeroMQ:《ZeroMQ:云实带极速消息通信库》
14.DPDK《深入浅出DPDK》


版权声明:本文为sesiria原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sesiria/article/details/115434889