hi,大家好,新的一周到了,希望大家好好工作和学习,每周进步一点!
之前写过一篇技术方向选择的文章:
今天分享一篇技术路线图,包括前端,后端,和运维开发职位等。
(PS:上次送书活动:
中奖信息:
麻烦中奖的同学加我微信联系)
引言
参考来源:https://github.com/ccloli/developer-roadmap-zh-CN
程序员必须掌握的技能:
计算机基础知识:CPU(调度),内存,网络,文件等,推荐《深入理解计算机系统》
数据结构与算法:
基础数据结构:O(n)结构-链表/栈/队列,O(1)结构-数组/hash/位图,O(logn)树形结构-AVL/红黑树/B+树/skip list等;
基础算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法等;
推荐:
入门:
动图演示算法(经典):
https://visualgo.net/zh
https://algorithm-visualizer.org/
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
深入理解:
刷题技巧:
开发技能:
编程语言,开发工具,编译工具,工程管理(版本控制,代码质量,项目管理等)。
推荐:
编程语言:
C:
C++:
入门:
深入:
《深度探索C++对象模型》
《Effective C++》
《Effective STL》
《More Effective C++》
《Effective Modern C++》
GO:《The Go Programming Language》等
Java:Java编程思想,深入理解Java虚拟机等
Python:
入门:
进阶:Python核心编程,流畅的Python等;
程序运行原理:编译,连接,执行文件,库等
工程开发: 设计模式,开发流程,项目管理,代码质量等
前端路线图
参考来源:https://github.com/ccloli/developer-roadmap-zh-CN
前端核心技能:
打好前端基础: HTML、CSS、和JavaScript,浏览器原理等;
熟练掌握框架:Vue、React和Angular等;
了解服务端开发:Node.js等;
掌握前端工程化:构建 , 分支管理 , 自动化测试, 部署等;
全栈和大前端:node全栈,PC(web, 客户端,插件)/移动端(APP,小程序等)/上云等;
后端路线图
参考来源:https://github.com/ccloli/developer-roadmap-zh-CN
后端核心技能:
基础知识:linux系统、网络协议、socket编程、编程语言、数据结构算法,中间件,数据库,设计模式等
深入挖掘:分布式、容灾、扩展、高并发、高性能、异常处理等设计和实现,代码重构,架构设计等;
解决问题:对知识的理解深度和实战能力,以及沟通表达能力(推动能力)等;
业务理解:项目整体架构、关键流程、通信机制、运营情况等;
DevOps 路线图
参考来源:https://github.com/ccloli/developer-roadmap-zh-CN
DevOps开发核心能力:
基础知识:shell命令,编程语言(主要是脚本类语言)、数据结构和算法,linux系统/网络/中间件/数据库(搭建,熟练使用,排障)等;
深入挖掘:深入理解软件的分布式架构、容灾、扩展、高并发、高性能、异常处理等;
解决问题:对知识的理解深度和解决实际问题能力(实战能力),调优等;
业务理解:项目整体架构、关键流程、通信机制、运营情况等;
项目运营:部署/升级/回滚/监控/告警等系统,运营可视化等
自动化建设: 操作自动化,流水线建设,CI/CD等;
最后
让我们始终保持keep learning状态,不断挖掘自己的知识盲区,扩展自己技能的深度和知识的广度!遇到问题,能够静下心来解决和分析,最终这些经验会加深我们技能,逐步达到通透状态(大师),希望大家一起进步,见证"我悟了"的那天!
可以加我微信:fr35331508,入群,可以领取pdf版本.
- END -
看完一键三连在看,转发,点赞
有福利
推荐阅读