第15章 · 生产级软件工程 · 阶段测试题答案¶
一 · 单选 (8 题)¶
1.1 B - Git 是分布式版本控制。
1.2 A - CI/CD 持续集成/持续部署。
1.3 C - 单元测试测最小单元。
1.4 B - Docker 容器化。
1.5 A - Kubernetes 容器编排。
1.6 C - git rebase 重新应用 commit。
1.7 B - TDD 先写测试再写代码。
1.8 A - 单元测试覆盖率高 ≠ 无 bug。
二 · 多选 (4 题)¶
2.1 ABCD - 都是测试类型。
2.2 ABD - C 错: Git 是分布式。
2.3 ABC - CI/CD 工具。
2.4 ABD - 都是代码质量工具。
三 · 简答 (5 题)¶
3.1 Git 工作流¶
核心命令:
- git add / commit / push / pull
- git branch / checkout / merge / rebase
- git status / log / diff
- git stash / reset / revert
常见工作流: - Git Flow (master / develop / feature) - GitHub Flow (main + feature) - Trunk-based (单 main + 短期 feature)
3.2 CI/CD 流程¶
CI (持续集成): - 每次 push 触发 - 跑测试 + lint - 失败不能 merge
CD (持续部署): - 自动部署到 staging / 生产 - 灰度 / 金丝雀 - 自动回滚
代表: GitHub Actions / GitLab CI / Jenkins / CircleCI
3.3 测试金字塔¶
比例: 70% 单元 / 20% 集成 / 10% E2E
3.4 Docker 优势¶
- 一致性: 开发/测试/生产环境一致
- 轻量: 秒级启动
- 隔离: 进程隔离
- 可移植: 跨平台
核心概念: 镜像 (Image) / 容器 (Container) / 仓库 (Registry) / Dockerfile
3.5 SOLID 原则¶
- S: Single Responsibility (单一职责)
- O: Open/Closed (开闭)
- L: Liskov Substitution (里氏替换)
- I: Interface Segregation (接口隔离)
- D: Dependency Inversion (依赖倒置)
四 · 编程 (2 题)¶
4.1 GitHub Actions¶
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with: { python-version: "3.11" }
- run: pip install -r requirements.txt
- run: pytest