标签题目
前端工程化相关面试题
怎么考虑使用缓存的情况,怎么强制刷新?
这题考察缓存策略设计和强制刷新手段。核心是按资源类型制定策略,并通过改变 URL、改变缓存头或清理运行时缓存让客户端拿到新内容。
TailwindCSS 和 CSS 有什么区别?
这题考察 CSS 工程化理解。回答要说明 CSS 是原生语言,Tailwind 是 utility-first 框架,并比较组织方式、约束、构建和维护成本。
Vite 和 Next.js 都用过,你会做 SSR 吗?
这题考察 SSR 全链路理解。回答要说明服务端渲染、数据获取、HTML 注水、客户端 hydration、构建产物和 Next.js 与 Vite 的职责差异。
用过 TS 吗,跟 JS 有什么区别?
这题考察 TypeScript 的类型系统边界和工程价值。高质量回答要讲清它是编译期约束、最终运行仍是 JavaScript,并补充外部数据、any 和运行时校验的边界。
webpack 打包原理
这题考察 Webpack 从入口构建依赖图、转换模块、生成 chunk 和注入运行时代码的完整链路。回答要区分模块、chunk、bundle、loader、plugin 和 runtime。
webpack 的 loader 和 plugin 的区别
这题考察 Webpack 扩展机制的职责边界。高质量回答要说明 loader 处理单个模块内容,plugin 参与构建生命周期,并能说清执行时机和典型场景。
webpack 热启动原理
这题考察 HMR 的端到端链路:文件监听、增量编译、WebSocket 通知、客户端拉取更新、模块 accept 和无法处理时回退刷新。