c/c++Linux服务器端开发岗位分析
经常被问到的问题:
Q: 这个岗位市场需求量大吗?
A:程序员能不能应聘到岗位,只由两部分组成,一个是技术能力,另一个是年龄。
Q:能进大厂吗?
A:Linux下的服务器端开发,一般都是进大厂,小厂很难有这样的招聘岗位。
Q: 岗位对学历有要求吗?
A:对学历有要求的是企业,不是岗位。
c/c++Linux服务器开发技术学习路径
一、精进基石
1.数据结构与算法
- 随处可见的红黑树
- 磁盘存储链式的B树与B+树
- 海量数据去重的Hash与BloomFilter,bitmap
2.设计模式
- 创建型设计模式
- 结构型设计模式
3.c++新特性
- stl容器,智能指针,正则表达式
- 新特性的线程,协程,原子操作,lamda表达式
4.Linux工程管理
- Makefile/cmake/configure
- 分布式版本控制git
- Linux系统运行时参数命令
二、高性能网络设计
1.网络编程
- 网络IO与select,poll,epoll
- reactor的原理与实现
- http/https服务器的实现
- websocket协议与服务器实现
2.网络原理
- 服务器百万并发实现
- redis,memcached,nginx网络组件
- Posix API与网络协议栈
- UDP的可靠传输协议QUIC
3.协程框架NtyCo的实现
- 协程设计原理与汇编实现
- 协程调度器实现与性能测试
4.用户态协议栈NtyTcp的实现
- 用户态协议栈设计实现
- tcp/ip定时器与滑动窗口
- 手把手设计实现epoll
5.高性能异步io机制io_uring
- 与epoll媲美的io_uring
- io_uring的使用场景
三、基础组件设计
1.池式组件
- 手写线程池与性能分析
- 内存池的实现与场景分析
- 异步请求池的实现
- mysql连接池的实现
2.高性能组件
- 原子操作CAS与锁实现
- 无锁消息队列实现RingBuffer
- 定时器方案红黑树,时间轮,最小堆
- 手写死锁检测组件
- 手写内存泄漏检测组件
- 手把手实现分布式锁
3.开源组件
- Libevent/Libev框架实战的那些坑
- 异步日志方案log4cpp
- 应用层协议设计ProtoBuf/Thrift
四、中间件开发
1.redis
- redis相关命令详解及其原理
- redis协议与异步方式
- 存储原理与数据模型
- 主从同步与对象模型
2.MySQL
- SQL语句,索引,视图,存储过程,触发器
- MySQL索引原理以及SQL优化
- MySQL事务原理分析
- MySQL缓存策略
3.Kafka
- Kafka使用场景与设计原理
- Kafka存储机制
4.gRPC
- gRPC的内部组件关联
- 基于http2的gRPC通信协议
5.nginx
- nginx反向代理与系统参数配置conf原理
- nginx过滤器模块实现
- nginx Handler模块实现
五、开源框架
1.skynet
- skynet设计原理
- sky net网络层封装以及lua/c接口编程
- sky net重要组件以及手撕游戏项目
2.分布式API网关
- 高性能web网关Openresty
- Kong动态负载均衡与服务发现
3.DPDK
- DPDK环境与testpmd/I3fwd/skeletion
- DPDK的用户态协议栈
- 千万级流量并发的dns处理
- 高性能数据处理框架vpp
- DPDK的虚拟交换机框架OVS
4.高性能计算CUDA
- gpu并行计算cuda的开发流程
- 音视频编解码中的并行计算
六、云原生
1.Docker
- Docker风光下的内核功能
- Docker容器管理与镜像操作
- Docker网络管理
- Docker云与容器编排
2.Kubernetes
- K8S环境搭建
- Pod与Service的用法
- K8S集群管理
- K8S二次开发与K8S API
七、性能分析
1.性能与测试工具
- 测试框架gtest以及内存泄漏检测
- 性能工具与性能分析
- 火焰图的生成原理与构建方式
2.观测技术bpf与ebpf
- 内核bpf的实现原理
- bpf对内核功能的观测
3.内核源码机制
- 进程调度机制
- 内核内存管理运行机制
- 网卡nic与网络协议栈的关系
- 文件系统组件
八、分布式架构
1.RocksDB
- 不一样的kv存储RocksDB的使用场景
- RocksDB的特殊操作
2.云原生分布式数据库TiDB
- TiDB存储引擎的原理
- TiDB集群方案与Replication的原理
3.分布式服务
- 内核级支持的分布式存储Ceph
- 注册服务中心Etcd
九、项目实战
1.图床共享云存储
- fastdfs架构分析和配置
- fastdfs存储原理
- 分布式fastdfs存储集群部署
- 高负载nginx/fastcgi
- 文件传输和接口设计
- 产品上云公网发布/测试用例
2.微服务即时通讯
- IM即时通讯项目框架分析和部署
- IM消息服务器/文件传输服务器
- 消息服务器/路由服务器
- 数据库代理服务器设计
- 文件服务器和docker部署
- 产品上云公网发布/公网测试上线