(课程笔记)C++后端知识点大纲

岗位技能知识:

  1. 语言
  2. 数据结构与算法:排序;二叉树等
  3. 数据库:持久化数据库mysql;缓存redis
  4. 网络原理:TCP/IP;三次握手;滑动窗口等
  5. 操作系统:进程;线程;进程管理等
  6. 网络编程
  7. 分布式:RPC
  8. 云原生
  9. 软技能:组织能力、沟通能力

1)语言

  • 对象的生命周期;垃圾回收
  • 标准库的使用
  • 错误与异常的处理
  • 日志的分析;断点调试
  • gdb的使用
  • 对面向对象的理解
  • 设计模式

2)数据结构与算法

  • 数据结构:链表、队列、栈;二叉树、红黑树;b树、b+树
  • 算法:dijkstra算法、最小生成树;递归;排序(希尔 归并 快排 堆排序);贪心、动态规划;跳表、散列表、hash、布隆过滤器

3)数据库

  • mysql:mysql的安装与配置;sql建表、索引、存储过程;存储引擎的原理myisam/innodb;数据库连接池;异步数据库请求;sql注入、web的shell攻击;数据库集群、分库分表,读写分离
  • 缓存redis:redis编译安装配置;命令使用;连接池;异步做法;redis集群、数据备份;缓存雪崩、缓存击穿

4)网络原理

  • ping,telnet,ifconfig
  • 网络体系模型
  • TCP三次握手、四次挥手、滑动窗口、状态机
  • UDP 实时性 不带拥塞控制
  • HTTP/HTTPS/HTTP 2.0/HTTP 3.0
  • Session Cookie application
  • 网络安全、加密、数字签名
  • wireshark抓包工具
  • iperf测带宽

5)操作系统

  • 文件操作、系统操作
  • 程序的编译,运行
  • shell/vi的使用
  • Linux系统性能监控参数 ps/netstat/df
  • 进程管理 进程线程,死锁,
  • 用户态,内核态
  • 内存管理,内存池
  • 磁盘文件系统 虚拟文件系统
  • 磁盘IO

6)网络编程

  • socket编程 TCP/UDP
  • 网络IO模型 阻塞非阻塞 同步异步
  • IO多路复用 select/poll/epoll
  • epoll reactor,proactor
  • time_wait/close_wait
  • C10K/C1000K/C10M
  • 网络框架 libevent/libev,协程ntyco,libco

7)分布式

  • rpc框架 grpc tars brpc srpc
  • 简单rpc协议设计/框架搭建
  • 分布式锁
  • 协议传输的时候,序列化反序列化
  • 服务注册,服务发现
  • 容灾,降级熔断,流量控制
  • 高并发,高可用

8)云原生

  • 腾讯云 阿里云
  • docker使用
  • docker编排,网络
  • k8s管理

9)软技能

  • 沟通能力
  • 组织能力
  • 协调能力
  • 需求分析

版权声明:本文为qq_43697646原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。