------------------------------------------基础-----------------------------------------------
一、页面
1、css(3)
2、html(5)
二、交互(javascript)
1、五种简单数据类型
undefined null boolean string number
2、九种引用类型
Object Array RegExp Date Functon Boolean String Bumber Math
3、面向对象(原型、继承)
4、BOM(检测)
5、DOM(查找、操作)
6、Event(绑定、委托、模拟)
7、Ajax(跨域)
8、作用域(this、闭包)
9、存储(cookie、session)
10、正则表达式
------------------------------------------提升-----------------------------------------------
三、nodeJs
1、Express
2、常用API(fs、http、path、process等)
3、渲染模版(ejs、jade、nunjucks等)
四、库
1、jquery/zepto
2、underscore
五、框架
1、backbone.js
2、angular.js
3、vue.js
4、reactjs
5、bootstrap
六、模块化管理
1、requireJs
2、seaJs
------------------------------------------加强-----------------------------------------------
七、自动化构建
1、grunt
2、gulp
3、webpack
4、fis
5、coolie
八、版本管理
1、svn
2、git
九、开发工具
1、浏览器(IE、google、firefox)
2、格式化工具(json、正则)
3、fiddle
4、ieTest
5、HTML5属性检测工具(caniuse.com)
6、编辑器和编辑器插件
十、插件的创建和使用
1、日期插件(my97DatePicker)
2、上传插件(webuploader)
3、pushstate
4、分页插件(kkpager)
5、弹框插件(layer)
6、复制插件(zero-clipboard)
十一、兼容
1、不同浏览器的兼容
2、不同系统和平台的兼容
3、不同网络的兼容
4、不同使用场景的兼容
十二、性能
1、缓存
2、网络
3、渲染
4、脚本
十一、安全
1、
跨站脚本攻击
XSS
2、
跨站请求伪造
CSRF
------------------------------------------辅助-----------------------------------------------
十二、设计模式
1、单例
2、工厂
3、观察者
4、适配器
5、桥接
十三、算法
1、查找(顺序查找、二分法查找)
2、排序(快速排序、冒泡排序、选择排序)
3、去重
4、递归
十四、HTTP
1、状态码(200、204、301、302、304、403、404、408、413、414、500、502、504)
2、http
首
部(通用
首
部、请求首部、响应首部、实体首部)
3、url
4、缓存
5、编码
十五、可编译成JavaScript的语言的使用
1、typescript
2、coffeescript
3、atscript
十六、SEO
1、网络爬虫原理
2、SEO优化策略
----------------------------------------补充-----------------------------------------------
十七、服务器
1、IIS
2、nginx
3、apache
十八、运维
1、日志处理
2、负载均衡
3、CDN
4、回滚策略
十九、Linux
1、常用的lunux命令
2、linux和windows的差别
3、虚拟机
二十、其他语言
1、php
2、java
3、C/C++
4、C# .net
二十一、工程师的素养
1、良好的编码习惯(命名、注释、格式、可扩展可复用、代码检查等)
2、定位问题和排错的思路和技巧
3、时间分配和管理
4、与产品经理、测试、后端、运维的良好沟通和关系的处理
5、对需求的准确理解
6、对排期的理性考量
7、对线上bug的敏感和响应
8、对业务的深入和全面了解
9、持续学习和总结的习惯