简洁概括,程序员的技能树
-
基础
-
HTML / CSS
-
JavaScript
-
DOM
-
-
中级篇
-
数据格式(如JSON、XML)
-
RESTful API交互(如jQuery Ajax,Fetch API,ReactiveX)
-
正则表达式
-
HTML语义化
-
命令行
-
Node.js
-
DIV / CSS
-
SCSS / SASS
-
矢量图形 / 矢量图形动画(如SVG)
-
单页面应用
-
-
高级篇
-
ES6 / TypeScript
-
CSS3
-
面向对象编程
-
函数式编程
-
MVC / MVVM / MV*
-
安全性(如跨域)
-
授权(如HTTP Basic、JWT等等)
-
-
工程化
-
代码质量(如JSLint / ESLint / TSLint / CSLint)
-
代码分析(如Code Climate)
-
测试覆盖率
-
构建系统(gulp、grunt、webpack等等)
-
自动构建(脚本)
-
-
兼容性
-
跨浏览器测试 (Chrome,IE,Firefox,Safari等等)
-
跨平台测试(Windows、GNU/Linux,Mac OS等等)
-
跨设备测试(Desktop,Android,iOS,Windows Phone)
-
跨版本测试(同一个浏览器的不同版本)
-
-
前端特定
-
CSS / CSS3 动画
-
JavaScript 动画
-
Web字体嵌入
-
Icon 字体
-
图形和图表
-
CSS Sprite(如glue)
-
DOM操作(如jQuery、React等等)
-
模板引擎(如JSX、Handlebars、JSP、Mustache等等)
-
-
软件工程
-
版本管理(如git、svn)
-
包管理(如npm、bower)
-
依赖管理
-
模块化(如CommonJS、WebPack)
-
-
调试
-
浏览器调试
-
Debug工具
-
Wireshark / Charles抓包
-
远程设备调试(如Chrome Inspect Devices)
-
-
测试
-
单元测试
-
服务测试
-
UI测试
-
集成测试
-
-
性能与优化
-
PageSpeed / Yslow 优化
-
加载优化(如gzip压缩、缓存等等)
-
性能测试(特别是移动Web)
-
可用性
-
压缩(如Minify、Uglify、CleanCSS等等)
-
-
设计
-
切页面
-
线框图(Wireframe)
-
响应式设计
-
网格布局(Grid Layout)
-
Flexbox布局
-
-
SEO
-
Sitemap(站点地图)
-
内部链接建设
-
MicroData / MicroFormat
-
页面静态内容生成
-
H1、H2、H3和strong使用
-
Title、Description优化
-
页面静态内容生成
-
-
入门
-
HTML / CSS
-
编程语言:Java / Python / PHP / Ruby等等
-
Web框架,如Spring MVC、Flask、Laravel等等
-
HTTP协议基础
-
CGI基础
-
-
中级篇
-
XML和JSON处理
-
数据结构与算法
-
面向对象编程
-
CMS
-
API设计
-
网络通信协议,如TCP / Socket
-
-
高级篇
-
函数式编程
-
领域驱动设计
-
MVC架构
-
运行环境优化,如JVM
-
远程调试
-
-
工程化
-
版本管理
-
单元测试
-
依赖管理
-
包管理
-
-
基础设施
-
虚拟化,如Docker
-
自动化部署
-
应用包创建、管理、发布
-
发布脚本编写
-
Web容器,如Jboss
-
-
缓存篇
-
应用层缓存
-
平台缓存
-
数据库端缓存
-
分布式缓存
-
-
数据持久化
-
SQL
-
NoSQL
-
ORM
-
DBMS
-
搜索引擎
-
-
数据库
-
查询性能优化
-
结构优化
-
主从复制、主主复制等等
-
伸缩性与高可用性
-
备份恢复与容灾
-
-
安全和加密
-
认证与会话管理
-
加密解密
-
数字签名、数字证书
-
加密算法
-
XSS/CSRF/SQL注入
-
-
监控
-
应用性能监控
-
异常监控
-
日志
-
流量监控
-
-
服务
-
RESTful
-
SOA
-
RPC
-
MicroServices
-
-
消息
-
JMS
-
IPC
-
MQ
-
-
入门篇
-
编写脚本,如Shell、Perl、Rython等等
-
编程语言
-
Web应用运行基本原理
-
HTTP服务器
-
应用容器
-
命令行,如awk
-
CGI
-
修复漏洞
-
-
中级篇
-
自动化运维
-
GNU/Linux操作系统
-
编译
-
数据库
-
-
高级篇
-
分布式文件系统
-
分布式存储系统
-
-
云服务
-
存储服务,如AWS S3
-
计算服务,如AWS Lambda
-
托管服务,如AWS EC2
-
-
安全性
-
网络
-
CCNP / CCNA
-
-
持续集成
-
持续集成工具
-
自动构建工具
-
依赖管理工具
-
版本管理工具
-
-
虚拟化
-
应用容器虚拟化,如Docker
-
环境虚拟化
-
操作系统虚拟化
-
-
自动化 (puppet,chef)
-
自动化配置
-
自动化部署
-
进程管理工具,如Supervisor
-
-
监控
-
基础设施监控
-
日志管理
-
监控服务
-
-
负载均衡
-
边缘缓存,如(Varnish)
-
DNS负载均衡
-
CDN
-
-
影响力 / 个人品牌
-
写作
-
演讲
-
培训
-
博客
-
社交媒体
-
-
社区
-
社交媒体交流
-
自媒体平台
-
技术社区
-
问答社区
-
-
持续学习
-
学习新技术、语言
-
-
健康
-
运动
-
不熬夜
-
-
生产力
-
熟悉工具
-
快捷键、快捷键、快捷键
-
-
估算
-
完成时间估算
-
延迟花费
-
预算估算
-
薪资估算
-
-
其他
-
面试
-
客户沟通
-