系统设计 · 架构✅
本章节承载“非系统设计”的架构类问题,来源于历史整理(模板引擎、DDD、架构对比、路由实现、沙箱等)。
模版引擎实现原理
答案
核心概念:
- 词法/语法分析 → AST → 代码生成 → 执行
面试官视角:
- 能否清晰区分编译阶段与运行时;是否考虑 Helper/Partial 扩展、安全(XSS/转义)与性能权衡。
延伸阅读:
- Handlebars/Mustache/Lodash.template
什么是领域模型(DDD)与前端如何划分?
答案
核心概念:
- 实体/值对象/聚合/聚合根/领域服务;按模块/页面/组件划分
面试官视角:
- 是否能结合 BFF 边界谈聚合一致性、读写分离与前端状态建模映射。
延伸阅读:
- Domain-Driven Design、Implementing DDD(Vaughn Vernon)
如何理解前端架构?
答案
核心概念:
- 分层/组件化/模块化/状态与数据流/规范与治理
面试官视角:
- 期望给出演进路径与度量(变更成本、稳定性、交付效率),并说明权衡。
延伸阅读:
- Clean Architecture、Building Evolutionary Architectures
前端架构和前端工程化有什么区别?
答案
核心概念:
- 架构关注结构与设计;工程化关注流程与效率(构建/测试/CI/CD)
面试官视角:
- 能否结合团队规模给出职责边界、协作流程与质量门禁。
延伸阅读:
- Frontend Engineering、Accelerate
前端路由的实现原理(Hash/History)
答案
核心概念:
- URL 改变与监听、视图映射;History API 与服务器回退配置
面试官视角:
- 是否覆盖首屏直出/SEO、Nginx/边缘网关回退、跨环境差异与降级。
延伸阅读:
- History API、React Router/Vue Router 实现剖析
实现 JS 沙盒的方式有哪些?
答案
核心概念:
- IIFE/with/new Function/Proxy Sandbox/Snapshot/Legacy;逃逸与隔离
面试官视角:
- 隔离粒度(JS/CSS/DOM)、兼容性与性能、逃逸与多实例并存策略。
延伸阅读:
- qiankun 沙箱、Shadow DOM 规范