前端模拟面试(1 年经验)
一、基础知识(HTML/CSS/JavaScript)
- HTML 相关
介绍一下 HTML5 相比 HTML4 的改进?
defer 和 async 的区别?
HTML5 本地存储有哪些方式?
- CSS 相关
介绍一下 Flex 和 Grid 布局的区别?
position 有哪些值?absolute 和 relative 的区别?
rem 和 em 的区别?
- JavaScript 基础
介绍一下 JavaScript 的基本数据类型?
== 和 === 的区别?
事件委托的原理是什么?
二、ES6+ 及前端工程化
- ES6 语法
let、const 和 var 的区别?
箭头函数和普通函数的区别?
什么是解构赋值?
- 前端工程化
什么是模块化?介绍 ES Module 和 CommonJS。
webpack 和 vite 的区别?
代码如何优化打包体积?
三、Vue 相关(Vue 3)
-
Vue 组件通信方式有哪些?
-
ref 和 reactive 的区别?
-
setup 语法糖如何使用?
-
Vue3 如何实现响应式?
四、网络与安全
-
HTTP 状态码 301 和 302 的区别?
-
介绍一下浏览器缓存策略?
-
什么是跨域?如何解决跨域问题?
-
CSRF 和 XSS 的区别?如何防范?
五、综合能力(手写代码+项目经验)
- 手写代码
实现一个防抖函数
实现一个节流函数
实现深拷贝
- 项目经验
你在项目中遇到的最大挑战是什么?如何解决的?
介绍你在 Vue 项目中做的性能优化?
你是如何做组件封装和复用的?
六、开放性问题
-
你怎么看待前端的发展趋势?
-
未来 1-2 年你打算如何提升自己?
如果你有更具体的需求,比如更偏向八股文,或者更注重 Vue 相关的问题,可以再调整面试内容!