3.24前端模拟面试
第一部分:基础知识(HTML、CSS、JavaScript)
-
介绍一下 position: sticky 的工作原理,以及它和 position: fixed 的区别?
-
你如何优化一个包含大量 DOM 操作的页面性能?
-
async 和 defer 在
第二部分:Vue 3
-
Vue 3 的响应式系统是如何工作的?reactive 和 ref 的区别是什么?
-
Vue 组件的 setup 和 onMounted 有什么区别?什么情况下会用到 watchEffect?
-
你在 Vue 3 项目里遇到过什么性能问题?是怎么优化的?
第三部分:工程化
-
Webpack 和 Rspack 的核心区别是什么?Rspack 为什么能提升构建速度?
-
你在项目中是如何做 Tree Shaking 的?Tree Shaking 可能失效的原因有哪些?
-
介绍一下前端 CI/CD 的流程,在你的项目中是如何落地的?
第四部分:微前端(Qiankun)
-
Qiankun 的沙箱机制是如何实现的?如果一个子应用污染了全局变量,你怎么解决?
-
你在微前端项目中如何管理多个子应用之间的通信?
-
在使用 Qiankun 时,主应用和子应用之间如何保持状态同步?
第五部分:性能优化
-
如何优化 Vue 3 应用的首屏加载速度?
-
介绍几种常见的前端缓存策略?
-
Lazy Loading 和 Code Splitting 的原理是什么?如何在 Vue 3 项目中实现?
第六部分:手写代码
-
手写一个防抖函数(debounce),并支持立即执行。
-
手写一个 Vue 3 的 computed 函数的简单实现。
-
实现一个通用的深拷贝函数,考虑循环引用的情况。
第七部分:开放性问题
-
你如何设计一个前端监控系统?应该采集哪些数据?
-
假如你的团队要引入 SSR,你会怎么调研和推进?
-
未来 2-3 年你觉得前端会有哪些发展趋势?
可以按你喜欢的方式作答,我们可以针对你的回答进行深入探讨!