Skip to content

HTML

  1. H5存储方式
  2. cookie,localStorage,sessionStorage
  3. 垂直居中方式
  4. 如何操作dom节点,比如改变浏览器的icon
  5. todo

CSS

  1. css选择器优先级,从左解析还是从右解析
  2. trasition、animation、transform各自的使用场景
  3. css3的var属性怎么使用
  4. flex布局

javascript

  1. 数组的遍历方式
  2. 对象的遍历方式
  3. Promise异步解决方案
  4. async和await怎么捕获异常
  5. promise c和d 的执行需要依赖于promise a和b的数据,如何实现?
  6. 介绍一下数组的方法
  7. reduce方法的参数及使用
  8. 数组去重
  9. promise.all请求两个相同的url,会怎么样
  10. 字符串最长不重复子串问题
  11. 实现深拷贝的几种方式(手写)
  12. 递归引起的堆栈泄露
  13. 如何理解eventLoop(浏览器、node)
  14. 箭头函数的特点(或与普通函数的区别)
  15. 数组的方法
  16. forEach/map的区别
  17. 原型链的理解
  18. 实现继承的几种方式
  19. 实现new
  20. call/apply/bind的原理和实现
  21. 实现数组扁平化的几种方法
  22. 实现数组去重的几种办法
  23. 快速排序的实现原理
  24. 防抖和节流的作用、场景、手动实现
  25. 设计模式
  26. 单例模式
  27. 观察者模式
  28. 发布订阅模式
  29. async/await的底层实现
  30. CORS怎么实现浏览器渲染,栅格化线程池
  31. 重排和重绘
  32. HTTP2相对于HTTP1.X有什么优势和特点,头部压缩的算法实现
  33. HTTP、HTTPS的区别
    • 加密过程
    • 数字证书传输过程
    • 简单请求和复杂请求
  34. 闭包
  35. todo

浏览器、移动端

  1. http与https区别
  2. 页面渲染过程
  3. 跨域的几种方式
  4. 前端安全机制
  5. 首屏优化
  6. 性能优化
  7. 常用的http状态码
  8. 移动端适配问题
  9. 响应头里有哪些信息
  10. 宏任务、微任务
  11. 前端安全
  12. 虚拟滚动
  13. 内存泄露
  14. token鉴权
  15. 大量数据渲染方案
  16. typeScript的缺点

ES6

  1. 新特性

webpack

  1. webpack特性
  2. webpack配置
  3. webpack生命周期
  4. 插件的编写
  5. loader和plugin区别

Vue

  1. vue响应式原理
  2. vue diff算法
  3. vue在beforeCreatecreated 分别做了什么
  4. 自己封装的组件,介绍一下
  5. 不通过props,如何在子组件中拿到值
  6. nextTick实现原理
  7. computed和watch的区别
  8. watch如何监听对象的变化
  9. computed如何实现缓存
  10. nextTick的实现原理
  11. vuex原理
  12. 路由守卫
  13. v-model原理
  14. 组件中data为什么是一个函数
  15. vue.set实现原理
  16. 兄弟组件传值
  17. 如何清除keep-alive组件
  18. 如何清除vue-router历史记录
  19. 如何在vue中使用typeScript

React

  1. react的渲染过程
  2. redux的运行过程
  3. ReactNative与原生的差异

算法

  1. 排序算法:冒泡、选择、快速,及其实现原理

项目

  1. 最近的项目介绍
  2. 项目中的性能优化

其他

  1. 整体的前端架构的搭建过程
  2. 一项新技术的引入需要考虑哪些方面
  3. 对flutter的了解
  4. 做过的项目业务
  5. 数据劫持
  6. 数据冻结

Last updated: