今年可能会去面试,对具体要作什么准备怕一下想不全, 特此列个大纲来一点点复习。javascript
面试岗位: 高级前端开发、前端技术leader或相似岗位css
技术:html
JS前端
基本类型: java
(1)值类型:数值、布尔值、null、undefined。 (2)引用类型:对象、数组、函数。
函数: function与箭头函数node
http://www.javascriptkit.com/javatutors/javascriptarrowfunctions.shtmlreact
this指针webpack
ES六、ES7特性git
做用域github
闭包
变量提高
var, let, const
经常使用API: Array、Data、String、Math、Object等基础类型或window下的经常使用API
HTML5 API:
localStorage\SessionStorage
闭包
事件模型: 包括事件执行顺序、原理,异步、同步事件特色、区别等。
http://www.ruanyifeng.com/blog/2014/10/event-loop.html
事件捕获、冒泡
阻止冒泡
阻止默认行为
异步:ajax, Promise, async await
性能优化
重绘、重排(和浏览器相关)
经常使用优化原则或建议
减小 DOM操做、缓存须要屡次操做的DOM对象
浏览器兼容性
移动端经验
跨域
浏览器缓存(cache)
原型链: prototype、 constructor
unit test
加载js方式: commonJS, AMD,CMD
SEO
页面内容优化
url优化
函数式编程
纯函数、不变性
柯里化(curry)
ramda
面向对象
ES5下原生js实现类
继承: prototype和其余方式
框架:
react:
生命周期
高阶组件
数据管理: redux
SEO
同构
相关工具/包:
npm
eslint
webpack
babel(compiling ES6\ES7)
mocha
nodejs
express
websocket
长链接
文件读写
事件模型:同步、异步
安全(因为一直作内部系统。 在EPAM作的系统也不涉及运维,因此 这块知识一直是个空白)
XSS
CSRF
click jacking
算法:
经常使用算法的实现方式, 如不用循环遍历数组、字符串的方法
快速排序、二分法
冒泡
面向对象
封装、多态、继承
CSS:
预编译器: LESS\SASS
后置编译器: postcss、 autoprefixer
盒子模型
行内、块元素(display)
position
flex
CSS3特性
OOCSS
响应式: @media 媒体查询
某些具体问题:
元素在屏幕上居中
相关工具、包
stylelint
HTML
语义化标签: header、section等
SEO相关
viewport(移动端)
http:
1.1
经常使用http code
2.0
长链接
单请求屡次response
辅助工具:
源码管理:git、github
持续集成: jenkins
IDE: submit text、 VS code
设计模式:
单例
适配器
装饰器
外观
发布订阅
观察者
软件工程:
开发流程:
敏捷开发: scrum
TDD
BDD
管理相关:
沟通:
团队建设、激励
先了解团队,特长、兴趣、需求,再根据实际状况尽可能知足。关注团队成长
冲突(矛盾)管理
上面不一样小节可能有重复、如SEO、重绘重排。无所谓
如今先列出大的范围,以后慢慢补充。
未完待续。。。