前段面试题

382 阅读2分钟

前端面试题

  1. 如何理解HTML语义化标签?
  2. HTML新增标签有哪些?
  3. SVG、Canvas标签的区别?
  4. BFC是什么?
  5. 如何实现垂直居中?
  6. CSS选择器如何确定?
  7. 如何清除浮动?
  8. 两种盒模型【box-sizing】的区别?
  9. JS的数据类型有哪些?
  10. 原型连是什么?
  11. this的指向?
  12. JS中new做了什么?
  13. JS的立即执行函数是什么?
  14. JS的闭包是什么?有什么用?
  15. JS如何实现类?
  16. JS如何实现继承?
  17. 手写防抖、节流?
  18. 手写发布订阅?
  19. 手写AJAX?
  20. 手写promise?
  21. 手写promise.all
  22. 手写深拷贝?
  23. 手写数组去重?
  24. 请简述DOM事件模型
  25. 手写事件委托?
  26. 手写可拖拽div?
  27. GET和POST的区别有哪些?
  28. HTTP缓存有哪些方案?
  29. HTTP和HTTPS的区别有哪些?
  30. HTTP/1.1 和 HTTP/2 的区别有哪些?
  31. TCP 三次握手和四次挥手是什么?
  32. 说说同源策略和跨域
  33. Session、Cookie、LocalStorage、SessionStorage 的区别
  34. TS 和 JS 的区别是什么?有什么优势?
  35. any、unknown、never 的区别是什么?
  36. type 和 interface 的区别是什么?
  37. TS 工具类型 Partial、Required 等的作用和实现?
  38. Vue 2 的生命周期钩子有哪些?数据请求放在哪个钩子?
  39. Vue 2 组件间通信方式有哪些?
  40. Vuex 用过吗?怎么理解?
  41. VueRouter 用过吗?怎么理解?
  42. Vue 2 是如何实现双向绑定的?
  43. Vue 3 为什么使用 Proxy?
  44. Vue 3 为什么使用 Composition API?
  45. Vue 3 对比 Vue 2 做了哪些改动?
  46. 虚拟 DOM 的原理是什么?
  47. React 或 Vue 的 DOM diff 算法是怎样的?
  48. 补充:React DOM diff 和 Vue DOM diff 的区别?
  49. React 有哪些生命周期钩子函数?数据请求放在哪个钩子里?
  50. React 如何实现组件间通信
  51. 你如何理解 Redux?
  52. 什么是高阶组件 HOC?
  53. React Hooks 如何模拟组件生命周期?
  54. Node.js 的 EventLoop 是什么?
  55. 浏览器里的微任务和任务是什么?
  56. express.js 和 koa.js 的区别是什么?
  57. 常见 loader 和 plugin 有哪些?二者区别是什么?
  58. webpack 如何解决开发时的跨域问题?
  59. 如何实现 tree-shaking?
  60. 如何提高 webpack 构建速度?
  61. webpack 与 vite 的区别是什么?
  62. webpack 怎么配置多页应用?
  63. swc、esbuild 是什么?
  64. 大数相加
  65. 两数之和
  66. 无重复最长子串的长度
  67. 你为什么从上一家公司离职?
  68. 你的缺点是什么?
  69. 你的薪资要求是多少?
  70. 何时可以到岗?
  71. 你对加班的看法?
  72. 你遇到最难的 bug 是什么?