理论知识
HTML部分:
1.html语义化的理解
CSS部分:
1.使一个块级元素居中的方法
2.为什么img是内联元素却有宽高
3.如何解决两个inline-block元素之间的间距
4.简述三种盒模型
5.定位方式position、float,简述文档流
6.简述BFC
7.清除浮动方法
8.两边固定宽度中间自适应如何实现?正方形边长自适应
javascript部分:
1.javascript中有哪些数据类型,如何判断?
2.深拷贝和浅拷贝的区别,如何实现?
3.javascript单线程运行机制?
4.javascript的垃圾回收机制?
5.javascript中的this指向?
6.简述javascript中的闭包?
7.javascript原型链
8.javascript实现继承的方法有哪些?
9.Object自带的方法有哪些?for..in 和 object.keys的区别
10.什么是函数式编程?如何柯里化
11.函数的尾调用优化
12.数组的操作方法有哪些
13.类数组和数组的区别,如何转化
14.js数组去重方法有哪些
15.常用的es6新特性
16.简述promise和aysnc
17.简述前端模块化
通信协议部分:
1.OSI模型
2.TCP三次握手
4.TCP与UDP的区别
4.http报文头内容以及状态码
5.简述HTTPS,介绍SSL和TSL
6.从输入url到进入网址发生了什么
7.简述websocket
浏览器部分:
1.浏览器缓存控制
2.cookie,sessionstorage和localstorage区别
3.登录实现,cookie、session和token
4.页面生成过程及重排和重绘
5.页面性能优化方法
6.浏览器事件流
7.事件委托
8.原生ajax原理及使用方法
9.如何解决浏览器跨域请求
10.渐进增强与优雅降级
11.移动端1px边框、300ms点击事件、iphone对HTTP请求拦截问题
12.fetch的使用
通用部分:
1.使用正则表达式匹配手机号
2.简述熟悉的设计模式
3.MVC与MVVM的区别
4.手写几种排序算法
5.简述restfulAPI
6.网页常见的图标图片格式(webp、svg、canvas)
webpack部分:
1.使用过webpack里面哪些plugin和loader,loader和plugin有什么区别
2.webpack里面的插件是怎么实现的
3.webpack整个生命周期
4.webpack打包的整个过程
5.自己写一个loader
VUE部分:
1.双向绑定原理
2.虚拟DOM原理
3.vue生命周期
4.计算属性和监听属性的区别
5.vuex中的数据流
6.vue-router几种导航守卫作用
7.key的作用
React部分:
1.React生命周期
2.路由的动态加载模块
3.介绍Redux数据流的流程
4.React怎么做数据的检查和变化
5.React-router怎么实现路由切换
6.React异步渲染的概念,介绍Time Slicing 和 Suspense
7.React的性能优化
8.React的事件机制(绑定一个事件到一个组件上)
9.React高阶组件,和普通组件有什么区别
10.React设计思路
11.React常见的通信方式
12.React整体的工作流程
13.Redux数据回溯设计思路
NODE部分:
1.同步IO异步IO,阻塞与非阻塞什么区别
2.用过哪些koa中间件,简单介绍
3.koa中response.send、response.rounded、response.json运行机制,浏览器为什么能识别到它是一个json结构或是html
项目实战
熟悉Git 协同与提交规范
熟悉CSS代码规范
熟练使用sass,less,stylus,postcss
熟练使用开发工具vscode,sublime
熟悉构建工具webpack,gulp,rollup
请求调试工具fiddler,postman
熟悉elementui,mintui,ant-design等UI组件库
熟悉阿里矢量图标库
熟悉js函数库lodash
Chrome调试技巧,console 调试技巧,debug断点调试,Chrome性能调优