大厂的面试题

第一部分

  1. MVVM如何实现模板绑定,依赖是如何收集的?
  2. vue2中的diff算法是怎样实现的?
  3. 请详细说出vue生命周期的执行过程?
  4. vue组件间的交互有七种你知道几种?
  5. vue-cli3.0如何实现的?
  6. 说说hash路由和history路由,你能自己编写一个前端路由吗?
  7. 你能手写vuex状态管理吗?
  8. 你能开发自己的组件库吗(树组件,日期组件,表格组件)?

第二部分

  1. vue里面的虚拟dom是怎么回事
  2. vue双向绑定讲一讲
  3. 讲vue-lazyloader的原理,手写伪代码
  4. 讲express框架的设计思想
  5. 讲事件循环
  6. 讲nodejs的eventEmitter的实现
  7. 讲express的中间件系统是如何设计的
  8. 使用es5实现es6的class
  9. websocket握手过程
  10. 浏览器的事件循环和nodejs事件循环的区别
  11. JavaScript的sort方法内部使用的什么排序?
  12. JavaScript异步的处理方式
  13. 怎么配webpack
  14. vue-router的原理
  15. 项目中怎么用的webpack,怎么优化
  16. 讲express的设计原理
  17. 手动实现parseInt
  18. 手写vue的mixin方法
  19. 手写promise的all方法
  20. 手写实现promise
  21. 实现一个事件发布订阅类,其实就是eventEmitter
  22. webpack热更新原理,使用过的插件

第三部分

  1. 用docker做了什么
  2. 用webpack做了什么
  3. 手写实现jsonp
  4. 手写函数防抖和节流
  5. tcp/ip网络层,http的特点
  6. React Diff 算法 ?
  7. http报文头部有哪些字段? 有什么意义 ?
  8. 移动端高清方案如何解决 ?
  9. webpack的原理, loader 和 plugin 是干什么的? 有自己手写过么 ?
  10. 简述从网页输入url到网页展示的过程发生了哪些事情 ?
  11. SSR 和 客户端渲染有什么区别 , vue是如何实现绑定事件的 ?
  12. 移动端300ms延时的原因? 如何处理?
  13. 主流框架的数据单向/双向绑定实现原理 ?
  14. DIFF算法为什么是O(n)复杂度而不是O(n^3)
  15. http code码?
  16. 移动端rem布局如何实现? 简述原理?
  17. TCP三次握手的过程, get post请求的区别 ?
  18. 静态文件的浏览器缓存如何实现?
  19. 前端跨域方案
  20. ES6 generator函数简述
  21. 数组去重实现?
  22. js浮点数运算不精确 如何解决?

第四部分

  1. 合并两个数组
  2. 内存泄漏
  3. 闭包
  4. 面向对象理解
  5. 函数式编程理解
  6. 斐波那契数列?怎么优化?
  7. http和https区别
  8. https建立的过程
  9. setState什么时候是同步,什么时候是异步的
  10. 从数组中找出三数之和为n
  11. vue和react的区别
  12. react fiber架构的理解
  13. node主要用来解决什么问题?
  14. node做BFF的优点是什么?
  15. redux的设计思想,缺点是什么
  16. 对项目监控这块有什么了解吗?
  17. 对微服务有了解吗
  18. 聊一聊docker?

第五部分

  1. CSS 水平垂直居中
  2. 闭包,JS 没有闭包的话会怎么样
  3. typeof 和 instanceof
  4. js 的原型链,继承
  5. js 的 bind、apply、call 有什么区别
  6. var、let、const的区别
  7. new 操作符原理(手动实现 new 给出思路)
  8. 箭头函数,箭头函数 this 问题,箭头函数是否可以被 new
  9. promise 知道吗,手写一个 promise 怎么写(说思路)
  10. promise.all 应用场景
  11. promise 和 async/await 的区别
  12. vue 的生命周期(我说我 React 比较熟)
  13. react 的生命周期(React16)
  14. react 性能优化
  15. react 的 diff 算法
  16. react 的 Fiber 架构
  17. 状态码 304(强缓存和协商缓存)

第六部分

  1. dns 查询原理
  2. tcp 握手和挥手
  3. tcp 和 udp 区别,udp 使用场景
  4. https 和 http 区别
  5. csrf、xss,如何预防
  6. babel 的编译原理,抽象语法树
  7. CSS 动画、CSS 对网页性能优化
  8. 浏览器渲染原理、回流与重绘
  9. JS 单线程、EventLoop、宏队列、微队列
  10. session 和 cookie
  11. react 父子组件传参
  12. PureComponent 知道吗
  13. React 性能优化
  14. Redux 原理,Redux 源码看过吗?Redux 中间件呢?

第七部分

  1. JS 垃圾回收
  2. JS EventLoop
  3. ES6 新特性
  4. 知道装饰器吗
  5. 数组方法 map、filter、reduce
  6. 新数据结构 Set、Map
  7. babel 的编译原理
  8. webpack 工作流程和原理,怎么写一个插件
  9. 树的深度优先遍历、广度优先遍历实现和区别
  10. 快速排序原理
  11. Express 和 Koa 区别
  12. react 路由原理
  13. react hooks
  14. redux 异步中间件实现原理
  15. Vue MVVM原理
  16. 服务端渲染原理
  17. nginx 的配置,反向代理、负载均衡原理
  18. 知道 PWA 吗