基礎概念
- 什么是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)站點的分環境部署?
- 如何通過環境變量區分開發、測試和生產環境的配置?
- 如果構建時間過長,你會如何優化?