2020面试题知识点(下篇)

180 阅读3分钟

前言

本文并没有题目的答案,请自行搜索学习

React

  1. 基础
    • 生命周期, 15和16版本的变化
    • 控制组件和非控制组件
    • setState是同步的还是异步的?
    • 组件的通信方式
    • react-router-dom路由
    • 路由懒加载
    • location.href和router跳转有什么区别
    • MVVM如何实现,和MVC什么区别
    • diff算法理解
    • 虚拟DOM的实现,优劣
    • React组件的渲染流程
    • Fiber的原理
    • key的作用
    • 传送门Portal, 使用场景
    • 双向数据绑定原理
    • 合成事件和原生事件区别
    • PureComponent,memo,useMemo的区别
    • ErrorBoundary, 使用场景
    • 错误处理componentDidCatch
    • react性能优化是哪个周期函数shouldComponentUpdate
    • mixin、hoc、render props、react-hooks的优劣势
    • hooks的优缺点
    • useEffect里定时器闭包问题
    • ref的使用,和useRef的区别
    • context的使用,和useContext的区别
  2. Redux和Mobx
    • redux的中间件原理
    • redux和mobx的区别

Vue

  1. 基础

    • 生命周期,组件的通信方式,双向绑定,key的作用,
    • 虚拟dom, diff算法
    • 理解单向数据流
    • 组件data为什么返回函数
    • computed 和 watch 的区别,应用场景
    • nextTick的原理,应用场景
    • hash 和 history 路由
    • 路由缓存keep-alive
    • 组件复用mixin
    • v-slot的使用
  2. Vuex

Webpack

  1. webpack打包原理
  2. 列举常用的loader和plugin
  3. loader执行顺序
  4. 单页面和多页面的区别,怎么实现多页面打包
  5. tree shaking的工作原理
  6. webpack打包优化
  7. HMR的原理
  8. 几种hash的实现原理
  9. SplitChunksPlugin分割代码
  10. 编写一个loader或者plugin

性能优化

  1. 实现图片懒加载和预加载
  2. 如何进行首屏加载优化
  3. 图片压缩的方式

项目实战

  1. 移动端300ms延迟
  2. 一个网页从请求到呈现花了很长时间,如何排查, 有哪些情况导致的
  3. 无限滚动加载
  4. 项目中怎么区分业务组件和技术组件
  5. react/vue 实现modal,message组件
  6. fetch,axios的封装
  7. 登录权限,路由权限
  8. 前端如何处理十万级别的大量数据
  9. 骨架图的实现方案
  10. 如何实现数据打点和用户行为监控
  11. 大型文件上传 oss
  12. 虚拟列表的实现
  13. 移动端软键盘弹出影响页面布局
  14. 模板引擎
  15. 前端持续集成/持续部署方案
  16. 不使用框架如何实现组件按需加载以及原理
  17. 动态表单的设计与实现
  18. 富文本编辑器
  19. 怎么防止数据的重复提交

进阶学习

  1. 服务端渲染
  2. TypeScript
  3. 微前端
  4. 可视化(地图、echats、canvas、webgl、d3.js、three.js)
  5. 跨平台(flutter、react-native、weex、electron)

日常问答

  • 平时如何进行学习的
  • 目前在学习什么
  • 你的优点是什么,缺点是什么
  • 你为什么离职,对上一家公司的印象如何
  • 你对未来的职业规划是怎样子的
  • 项目中遇到的问题,如何解决的
  • 项目中还有什么需要改进的地方
  • 在公司有啥技术贡献
  • 在原公司,自己最大的成长是什么
  • 自己觉得在原公司的开发流程上,还有哪些可以改进的
  • 说说你对前端目前发展的认知

总结

vue接触不多,不定时更新。