前端高频场景面试题与实战解答
整理了一些常见的前端开发场景面试题,涵盖 Vue 优化、网络请求、权限控制及兼容性处理等核心知识点。
1. 一般 Vue 开发用什么库来辅助
常用工具库包括:
- UI 框架:VantUI, ElementUI
- 工具库:js-cookie, axios
- 通信:socket.io
- 图表:ECharts
2. 页面刚开始出现一片空白的原因
排查方向如下:
- 网络设置问题(IP、端口配置错误)
- 网速较慢导致加载延迟
- 浏览器本身兼容性问题
- 防火墙安全级别过高拦截请求
- 病毒或恶意软件干扰
- 打包路径配置不正确
3. Vue 项目首屏优化策略
从代码和资源层面入手:
- 指令选择:区分
v-if和v-show的使用场景;computed用于缓存计算属性,watch用于异步操作。 - 列表渲染:
v-for遍历必须为 item 添加key,避免同时使用v-if。 - 长列表优化:虚拟滚动或分页加载。
- 事件管理:注意组件销毁时移除
addEventListener监听,防止内存泄漏。 - 资源加载:图片懒加载、使用精灵图、路由懒加载。
- 按需引入:第三方插件按需引入,减少包体积。
- 服务端渲染:考虑 SSR 方案提升首屏速度。
- 构建优化:开启代码压缩。
4. 商品详情页返回保留滚动位置
实现思路:
- 在
App.vue中使用<keep-alive>缓存组件状态。 - 离开详情页时记录当前滚动高度,返回时重新赋值给进度条或容器。
5. LocalStorage 存储 Token 与 Vuex 的区别
虽然 LocalStorage 能存 Token,但 Vuex 更合适:
- 类型限制:LocalStorage 仅支持字符串,非字符串需转换,增加性能消耗。
- 响应式监控:LocalStorage 数据变化无法触发视图更新,Vuex 可监听 Token 变化执行逻辑。
- 性能差异:LocalStorage 是磁盘操作,Vuex 是内存操作,读取速度更快。
6. 后台接口未写好如何处理
开发阶段可采用模拟假数据:
- 组件内写死数据
- 使用 mock.js
- 使用 json-server
7. Cookie 为什么不适合存储 Token
- 性能开销:Cookie 每次请求都会自动携带,增加带宽消耗。
- 安全风险:容易遭受 CSRF 攻击,Token 存储在 Cookie 中可能被劫持。
8. 任务分配不合理怎么办
评估能否在规定时间完成。若能完成,事后向负责人说明情况;若不能,及时协商调整,确保不影响项目整体进度。

