导航菜单

文章

分享一些技术文章和开发经验,记录学习和成长的过程。

太平洋网络前端面试复盘

写在前面

2026 年 8 月 17 日,面了太平洋网络的前端岗位。整场面试和网上流传的面经差不多,问的全是八股,没有问项目。更巧的是,问到的题目基本都是我刚刚复习过的。

没有好运可言,但复盘下来,有几块内容其实只是"背到了答案",理解得还不够透,需要继续精进。

面试题目清单

  • React 和 Vue 的区别
  • Vue 的指令有哪些
  • Vue 中父子组件怎么传值
  • Vite 和 Webpack 的区别,为什么 Vite 更快
  • 说一下 Promise
  • JS 的基本类型
  • MVVM 软件架构设计模式
  • 说一下状态管理
  • 闭包
  • 防抖和节流
  • 浏览器输入 URL 之后发生了什么,JS 文件的解析在什么时候
  • TypeScript 如何定义变量、泛型
  • 平时用什么 AI(Codex、Claude Code 等)
  • 等等八股文

后续精进

Vite 为什么比 Webpack 快

核心区别在开发模式下:

  • Webpack 是基于打包的(bundle-based),启动时要把所有模块打包成 bundle 才能提供服务,项目越大启动越慢。
  • Vite 是基于原生 ESM 的(ESM-based),开发时直接利用浏览器原生支持 ES Module 的能力,按需加载,启动几乎秒开。

再配合 esbuild(Go 写的,比 JS 快几十倍)做依赖预构建和转译,所以冷启动、热更新都快很多。生产环境 Vite 底层还是用 Rollup 打包。

MVVM 架构模式

MVVM 是 Model - View - ViewModel 三层:

  • Model:数据层,负责数据与业务逻辑。
  • View:视图层,只负责展示,不处理逻辑。
  • ViewModel:中间层,连接 Model 和 View,处理数据双向绑定。

Vue 就是典型的 MVVM 框架:data 是 Model,模板是 View,Vue 实例(响应式系统)扮演 ViewModel,通过数据劫持 + 依赖收集实现双向绑定,数据一变视图自动更新。

状态管理

项目里状态一多、组件间共享状态一复杂,光靠 props 层层传就很痛苦。状态管理就是把共享状态抽到全局的"单一数据源"里,统一管理、统一更新,让数据流可预测、可追踪。

Vue 用 Pinia/Vuex,React 用 Redux/Zustand/Context。但面试不能只答"有什么用",还要能讲清楚什么时候该用、什么时候不该用——局部状态就不该丢进全局 store。

总结

这次能过,一半是运气:没问项目,八股又刚好是复习过的。但暴露出的短板也很明确:

  1. MVVM、MVC、MVP 三种架构模式的异同——目前只对 MVVM 有概念,MVC/MVP 说得不够清楚,要系统梳理。
  2. 状态管理——不能只停留在"有什么用处",要深入原理和适用场景。
  3. 继续熟悉项目——这次没问项目是侥幸,下次大概率会深挖,得把项目讲扎实。