
面试
文章平均质量分 90
傻小胖
一个正在爬的小胖子
展开
-
UniApp 高频面试题
Redux 和 MobX 是 React 生态中的两大状态管理方案,在面试中常涉及。RTK 是 Redux 官方推荐的。,用于管理应用的全局状态。,而 Context 适用于。,助你轻松应对面试!原创 2025-03-11 22:49:45 · 858 阅读 · 0 评论 -
Redux 和 MobX 高频面试题
Redux 和 MobX 是 React 生态中的两大状态管理方案,在面试中常涉及。RTK 是 Redux 官方推荐的。,用于管理应用的全局状态。,而 Context 适用于。,助你轻松应对面试!原创 2025-03-11 22:06:06 · 579 阅读 · 0 评论 -
前端状态管理 pinia和vuex高频面试题
是 Vue 生态中常用的状态管理方案,在面试中经常涉及。TypeScript,直接定义。,相比 Vuex 更简单。,助你轻松应对面试!,支持时间旅行调试。原创 2025-03-11 21:57:59 · 745 阅读 · 0 评论 -
Taro 面试题
JSX → AST 解析 → 代码转换 → 输出小程序。JSX 解析 → 转换 AST → 生成小程序代码。,React Hooks 可以。,无需编译 Nerv.js。Taro 3 直接使用。原创 2025-03-11 21:45:32 · 914 阅读 · 0 评论 -
Webpack & Vite 前端高频面试题
🔥 什么是热更新(HMR - Hot Module Replacement)?热模块替换(Hot Module Replacement, HMR)是前端开发中的一个优化机制,它允许在代码修改后不刷新整个页面,只更新变化的模块,从而加快开发效率,保持应用状态不丢失。🔥 Vite 的 HMR vs Webpack 的 HMRVite HMR原理利用浏览器原生 ESM,按需更新模块基于 WebSocket 监听变化,触发更新编译方式依赖ESBuild,即时编译速度快使用。原创 2025-03-11 17:04:20 · 1319 阅读 · 0 评论 -
前端非技术性场景面试题
性能核心React:控制重渲染范围(虚拟化 + Memo)Vue:缩减响应式依赖(shallowRef + 计算按需)协作挑战规范先行:React 推行 Hooks 纯净性原则(禁止条件内声明);Vue 制定 Composition API 代码组织规范(功能聚合式开发)。工具赋能React:ESLint 插件强制检测依赖项完整性Vue:定制 CLI 生成器规范组件结构可度量改进性能指标纳入 CI/CD 卡控(如 Lighthouse 评分 ≥80)原创 2025-03-11 00:25:37 · 1111 阅读 · 0 评论 -
http和浏览器相关的高频面试题
一、HTTP相关问题 1. HTTP状态码及其含义 ✅ HTTP 状态码分类: 1xx(信息响应):101(协议切换) 2xx(成功):200(OK)、201(Created) 3xx(重定向):30原创 2025-03-10 17:59:35 · 993 阅读 · 0 评论 -
TypeScript的高频面试题
✅ TypeScript 的主要优势:✅ TS vs JS 主要区别:二、类型系统3. 和类型的区别4. 接口(Interface)与类型别名(Type Alias)的区别5. 联合类型(Union Types)与交叉类型(Intersection Types)三、高级特性6. 泛型(Generics)的作用及示例7. 枚举(Enum)与常量枚举(Const Enum)的区别8. 类型守卫(Type Guards)的作用及实现方式四、工程化与配置9. 如何处理可空类型(原创 2025-03-10 17:40:09 · 668 阅读 · 0 评论 -
CSS面试题
答:HTML 语义化标签是指标签本身具有明确的意义,能够清晰表达结构和内容,使代码更具可读性和可维护性,同时有利于 SEO。常见的语义化标签:优点:答: 和 作用:示例:3. 如何关闭 iOS 键盘首字母自动大写?答:在 或 中添加 :或者:此外,也可以使用 来避免 iOS 设备自动填充历史记录。答:Chrome 默认不允许小于 的字体,但可以通过 绕过限制:或者,使用 :特殊情况:答:示例:使用建议:答:iOS 设备在点击按钮或链接时,默认会有灰色半透明背景,可以使用原创 2025-03-10 17:02:16 · 863 阅读 · 0 评论 -
vue面试宝典之二
Vue2:基于正则和递归下降解析,生成较通用的渲染函数,静态优化有限。Vue3:采用逐字符扫描和 Block Tree,结合 PatchFlag,实现精准更新。编译时优化程度更高,直接提升运行时性能。什么是“刷新后二次加载路由”?刷新后二次加载路由,指的是在 Vue 项目中,用户刷新页面后,路由会重新解析并加载,但由于某些原因(如异步路由、权限控制、动态添加路由等),导致路由数据丢失或需要二次加载,甚至页面 404 或白屏的问题。动态路由未持久化(如基于权限的addRoute()添加路由)。原创 2025-03-06 23:53:39 · 966 阅读 · 0 评论 -
vue面试宝典之一
功能Vue 2 生命周期Vue 3 生命周期(组合式 API)使用场景数据初始化createdsetup初始化数据、调用 API初次渲染mountedonMountedDOM 操作、动画数据更新updatedonUpdated监听和响应数据变化组件销毁destroyed清理定时器、事件监听依赖追踪不适用调试性能问题在 Vue 3 中,组合式 API 带来了更高的灵活性,支持更加简洁的生命周期钩子函数,同时还允许在setup阶段完成更多初始化工作。原创 2025-03-06 18:50:01 · 828 阅读 · 0 评论 -
前端面试技术性场景题
通过分片上传、断点续传、并发控制、进度反馈等技术组合,可有效解决大文件上传的稳定性、性能和用户体验问题。核心在于前端合理拆分任务,服务端高效管理分片,同时结合业务需求优化传输策略。核心功能可视化座位布局(Canvas/SVG + 动态数据渲染)。实时选座状态同步(WebSocket + 乐观锁冲突处理)。限制选座逻辑(最大数量、相邻推荐)。技术实现前端:状态管理(Redux/Zustand)、交互优化(高亮/动画)。后端:座位库存管理(Redis锁+事务)、API设计(查询/锁定/合并)。原创 2025-03-04 18:15:25 · 684 阅读 · 0 评论 -
React面试葵花宝典之三
Monorepo 通过集中化管理和代码共享,解决了多仓库协作的碎片化问题,尤其适合复杂项目或需要高度协作的团队。选择时需权衡项目规模、工具链支持与团队能力,合理使用工具(如 Turborepo 或 Nx)可大幅降低维护成本。服务端渲染(SSR) vs. 客户端渲染(CSR)服务端渲染(SSR - Server-Side Rendering)客户端渲染(CSR - Client-Side Rendering)它们的区别在于HTML 生成的时机SSR:HTML在服务器端生成,然后返回完整的页面给浏览器。原创 2025-03-04 18:14:42 · 1162 阅读 · 0 评论 -
React面试葵花宝典之二
解决问题:改善与 Web Components 的集成完整支持自定义元素正确处理属性和属性传递数据不可变性遵循不可变数据的原则,避免直接修改原有状态。异步和批量更新支持异步更新,React 可以批量处理多个状态更新,提升性能。生命周期管理:通过setState,React 能够触发生命周期钩子,确保组件正确更新。性能优化可以通过智能的差异化更新减少不必要的 DOM 操作,而直接修改this.state会跳过这一过程。因此,直接修改this.state。原创 2025-02-28 18:01:11 · 1139 阅读 · 0 评论 -
React面试葵花宝典之一
React Fiber 是 React 渲染引擎的一次重大升级,通过引入异步渲染、优先级调度和增量渲染,极大提升了 React 的性能和灵活性。它为未来的 React 特性(如并发模式和 Suspense)提供了基础,同时也优化了复杂 UI 更新和高频交互的性能。虽然 Fiber 的实现较为复杂,但它为 React 提供了更强大的能力,尤其是在需要精细控制渲染过程的场景中。原创 2025-02-26 19:38:07 · 941 阅读 · 0 评论 -
路由组件与一般组件的区别
定位不同路由组件:页面级,负责整体布局和业务逻辑一般组件:功能级,负责特定功能的实现参数传递路由组件:主要通过路由参数一般组件:主要通过 props生命周期路由组件:与路由切换紧密相关一般组件:与父组件更新相关。原创 2025-01-03 16:43:19 · 734 阅读 · 0 评论 -
前端路由 Hash 和 History 模式原理对比区别
技术选择根据项目需求选择合适的路由模式考虑浏览器兼容性要求评估服务器配置能力开发建议合理使用路由懒加载做好错误处理注意 URL 规范性维护考虑保持路由结构清晰做好文档记录考虑后续扩展性。原创 2025-01-03 14:45:57 · 1155 阅读 · 0 评论 -
Vue2/Vue3 面试题
MVC适合简单的应用或那些不需要复杂视图逻辑的情况,特别是在 Web 开发中很常见。它的主要优点是清晰的职责分离,易于理解和实现。MVVM则更加适用于需要复杂 UI 交互和状态管理的桌面或移动应用,尤其是支持数据绑定的框架中。它通过 ViewModel 来简化 UI 更新和视图与业务逻辑的分离。两者的核心区别在于,MVC依赖于控制器来管理视图和模型之间的交互,而MVVM通过引入ViewModel并利用数据绑定来简化视图更新和状态管理。原创 2025-01-01 20:40:03 · 986 阅读 · 0 评论