一、后臺開發技能總體
- 語言
- 數據結構與算法
- 數據庫:mysql,緩存redis
- 網絡原理
- 操作系統
- 網絡編程
- 分布式
- 云原生
二、語言
- 循環分支控制
- 對象的生命周期
- 垃圾回收
- 標準庫使用
- 錯誤異常處理
- 日志分析,端點調試
- 面向對象理解
- 設計模式
- gdb使用
三、數據結構與算法
- 數據結構三類:線性、樹形、圖形
- 算法
(1)鏈表、隊列、棧
(2)二叉樹,紅黑樹,b樹,b+樹
(3)dijkstra算法,最小生成樹
(4)遞歸
(5)排序(11種)
(6)歸并
(7)快排
(8)堆排序
(9)貪心算法,動態規劃
(10)跳表,散列表,hash, 布隆過濾器
四、數據庫
(1)mysql
- mysql安裝與配置
- sql語句,建表,建庫,索引,存儲過程
- 存儲引擎(原理),myisam/innodb
- 數據庫連接池
- 異步數據庫請求
- sql注入,webshell攻擊,
- 數據庫集群(分庫分表,讀寫分離)
(2) redis
redis使用,安裝,配置
redis命令使用
redis異步,連接池
redis集群
redis數據備份
緩存雪崩,緩存擊穿
五、網絡原理
- ping ,telnet(端口),ifconfig
- 網絡體系模型,數據從哪一層
- tcp原理
- 三次握手
- 四次揮手
- 滑動窗口
- 慢啟動
- 狀態機
- udp原理:實時,不帶流量控制
- http/https/http2.0/http3.0
- Session,cookie application
- 網絡安全,加密,數字標簽
- 抓包:wireshark,tcpdump
- 網絡帶寬,iperf
六、操作系統
- 文件操作,系統操作
- 程序編譯,運行
- shell/vi使用
- liux系統性能監控參數 ps/netstat/df
- 進程管理
- 用戶態、內核態:交互只有通過系統調用
- 內存管理,內存池,內存泄露
- 磁盤文件系統,虛擬文件系統
- 磁盤io
七、網絡編程
- socket編程,tcp/udp
- 網絡io模型,阻塞,非阻塞,異步,同步
- io多路復用 select/poll/epoll
- epoll reactor,proactor
- time wait/close wait 大量
- C10k/C1000K/C10M
- 網絡框架 libeevent/libev,協程ntyco,libco
八、分布式
- rpc,grpc,tars,brpc,srpc :對外基礎服務
- 簡單rpc協議設計/框架搭建
- 協議傳輸序列化,反序列化
- 服務注冊,服務發現
- 容災,降級熔斷,流量控制
- 高并發,高可用
- 分布式鎖:etcd,zookeeper
九、云原生
- 騰訊云/阿里云
- docker鏡像管理
- docker編排,網絡
- k8s管理