基础概念
- 什么是CI/CD?在前端项目中如何应用?
- 自动化部署相比手动部署有哪些优势?
- 常见的自动化部署工具有哪些?举例说明它们的区别(如Jenkins vs GitHub Actions)。
- 如何通过Git Hook实现自动化部署?
- 解释“持续集成”和“持续交付”的区别。
工具链与配置
- 如何在Webpack中优化构建速度以适配自动化部署?
- 如何通过npm scripts实现自动化构建和部署?
- Babel在前端自动化构建中的作用是什么?
- 如何配置ESLint或Prettier与自动化部署流程结合?
- 如何用Shell脚本实现简单的自动化部署?
CI/CD平台
- 如何在GitHub Actions中配置前端项目的自动化部署?
- Jenkins Pipeline的语法结构是怎样的?写一个简单示例。
- GitLab CI/CD中的
.gitlab-ci.yml
文件如何配置多阶段任务? - 如何在CI/CD流程中实现多环境(dev/staging/prod)部署?
- 如何在CI流程中集成自动化测试(如单元测试、E2E测试)?
容器化与云服务
- Docker在前端自动化部署中的作用是什么?
- 如何编写一个Dockerfile用于部署前端静态资源?
- Kubernetes与Docker Swarm的区别是什么?如何选择?
- 如何通过Docker Compose管理前端服务的依赖(如Nginx、Node.js)?
- Serverless部署(如AWS Lambda、Vercel)适合哪些前端场景?
部署策略与优化
- 什么是蓝绿部署(Blue-Green Deployment)?如何在前端实现?
- 如何实现滚动更新(Rolling Update)?
- 如何通过CDN加速前端静态资源的部署?
- 自动化部署中如何处理前端资源的版本控制和缓存(如文件名哈希)?
- 如何优化前端构建产物的体积以提高部署效率?
错误处理与监控
- 如何实现自动化部署失败后的回滚机制?
- 如何监控前端应用的线上性能(如LCP、FCP)并与部署流程结合?
- 在自动化部署中如何集成错误追踪工具(如Sentry)?
- 如何通过日志分析定位自动化部署中的问题?
- 如何处理部署后出现的跨域问题?
安全与权限
- 如何在自动化部署中安全地管理敏感信息(如API密钥)?
- 如何配置HTTPS证书的自动更新(如Let’s Encrypt)?
- 在CI/CD中如何实现权限控制(如限制生产环境部署权限)?
- 如何防止未经授权的代码触发自动化部署流程?
- 如何处理第三方依赖的安全漏洞扫描?
服务器与网络
- 如何配置Nginx实现前端静态资源的自动化部署?
- 如何通过SSH实现远程服务器的自动化部署?
- 如何配置负载均衡(Load Balancing)以支持高并发部署?
- 如何实现灰度发布(A/B Testing)?
- 如何通过反向代理解决前端路由的History模式问题?
进阶场景
- 如何实现微前端(Micro Frontends)的独立部署?
- 如何自动化部署带有SSR(服务端渲染)的前端应用?
- 如何处理多仓库(Monorepo)项目的自动化部署?
- 如何结合Webhook实现第三方服务的自动触发(如Slack通知)?
- 如何优化大型项目的自动化部署时间?
实际场景题
- 如果部署后页面出现空白,可能的原因有哪些?如何排查?
- 如何解决自动化部署中因依赖版本冲突导致的构建失败?
- 如何实现多语言(i18n)站点的分环境部署?
- 如何通过环境变量区分开发、测试和生产环境的配置?
- 如果构建时间过长,你会如何优化?