一. js面试题
1. 原始值和引用值类型及区别
2. 判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor
3. 类数组与数组的区别与转换
4. 数组的常见API
6. new的原理
7. 如何正确判断this
8. 闭包及其作用
9. 原型及原型链
11. 继承的实现方式及比较
12. 深拷贝与浅拷贝
13. 防抖和节流
14. 作用域和作用域链、执行期上下文
15. DOM常见的操作方式
17. Ajax的请求过程
18. JS的垃圾回收机制
标记清除法:垃圾收集器给内存中的所有变量都加上标记,然后去掉环境中的变量以及被环境中的变量引用的变量的标记。在此之后再被加上的标记的变量即为需要回收的变量,因为环境中的变量已经无法访问到这些变量。
20. addEventListener和onClick()的区别
22. DOM的location对象
23. 浏览器从输入URL到页面渲染的整个流程(涉及到计算机网络数据传输过程、浏览器解析渲染过程
25. 浏览器的回流(Reflow)和重绘(Repaints)
27. EventLoop事件循环
28. 宏任务与微任务
29. BOM属性对象方法
30. 函数柯里化及其通用封装
32. “==”和“===”的区别
二. HTML/CSS
1. CSS权重及其引入方式,权值的用法
2. CSS引入方式和权重
3. 用CSS画三角形
5. 元素种类的划分
9. 浮动模型及清除浮动的方法
10. CSS定位属性
11. display及相关属性
12. IFC与BFC
13. 圣杯布局和双飞翼布局的实现和区别
14. Flex布局
15. px、em、rem的区别
16. Less预处理语言
17.vh与vw
18. H5的语义化作用及语义化标签
20. CSS3动画
21. js动画与CSS3动画对比
22. 响应式布局和自适应布局详解
23. HTML5的新特性
24. Less和Sass使用
三. HTTP与计算机网络
1. TCP/IP协议分层管理
3. HTTP方法
4. GET和POST区别
5. HTTP报文的结构
6. 常见HTTP状态码
7. Cookie相关首部字段
8. HTTP与HTTPS
9. 常见的Web攻击分类
10. TCP与UDP区别
11. 存储机制localStorage、sessionStorage与Cookie存储技术
四、ES6
1. let、const和var的概念与区别
2. 变量提升与暂时性死区
3. 变量的结构赋值
4. 箭头函数及其this问题
5. Symbol概念及其作用
6. Set和Map数据结构
7. Proxy
8. Reflect对象
9. Promise(手撕Promise A+规范、Promise.all、Promise相关API和方法)
10. Iterator和for...of(Iterator遍历器的实现)
11. 循环语法比较及使用场景(for、forEach、for...in、for...of)
12. Generator及其异步方面的应用
13. async函数
14. 几种异步方式的比较(回调、setTimeout、Promise、Generator、async)
15. class基本语法及继承
16. 模块加载方案比较(CommonJS和ES6的Module)
17. ES6模块加载与CommonJS加载的原理
五. 前端工程化
4. webpack优化:
提高webpack打包速度,减少打包时间的优化方法
让 Webpack 打出来的包体积更小的优化方法
六. 手撕代码部分
5. class的继承
6. 防抖和节流
7. Ajax原生实现
8. 深拷贝的几种方法与比较
9. 继承的几种实现与比较
10. 未知宽高的元素水平垂直居中
11. 三栏布局的实现
12. 两栏布局的实现
13. React高阶组件
14. 数组去重
16. 前序后序遍历二叉树(非递归)
17. 二叉树深度遍历(分析时间复杂度)
18. 跨域的实现(JSONP、CORS)
七、数据可视化
2. 在考虑设计可视化图表时,结合Canvas和SVG特性会怎么取舍
3. 常见的可视化组件库
5. 一些偏向底层的可视化组件库和前端框架结合方面需要考虑哪些问题
6. 可视化组件如何做到数据驱动?
八、Vue面试题
九、nodejs
2. CommonJS规范、核心模块
3. Node的异步I/O
4. Node的内存控制
5. Node构建网络服务(TCP、HTTP、Web Socket服务等)
6. Node的进程
10.前端面试题
十、计算机基础
1. 计算机系统
2. 线程与进程
3. 常见的git指令
4. Linux相关指令
5. 其他类型的编程语言(如Java)
6. 数据库