第 11 章
分章自测题(一)
第8章的25道题来自官方模拟考,是考前冲刺用的。这一篇是另一件事:跟着每一章的内容单独出题,学完一章测一章,题目和第8章不重复。这一篇覆盖第1、2章,第3章开始的自测题在下一篇。
建议用法:先自己想答案,再看解析。做错的不用死记答案,回头把对应章节那一段再看一遍,搞清楚"为什么"比记住"是什么"更重要。
第1章自测:云原生概要介绍
单选题
1. ACA考试单选题一共有多少道?每题多少分?
| 选项 | 内容 |
|---|---|
| A | 25题,每题2分 |
| B | 35题,每题2分 |
| C | 35题,每题3分 |
| D | 40题,每题2分 |
正确答案:B
解析:单选35题×2分=70分,多选15题×2分=30分,加起来正好100分,80分及格。
2. 下列哪个知识板块占ACA考试权重最大?
| 选项 | 内容 |
|---|---|
| A | 云原生基础 |
| B | 阿里云容器服务 |
| C | 阿里云微服务 |
| D | DevOps |
正确答案:C
解析:云原生基础20%、容器服务25%、微服务40%、DevOps15%。"微服务"这一块占了将近一半分值,对应第4、5章,笔记也拆了6篇来写,跟考纲权重对得上。
3. CNCF在2015年成立时定义的云原生技术包含哪些(不含后来新增的)?
| 选项 | 内容 |
|---|---|
| A | 容器化封装、自动化管理、微服务化 |
| B | 服务网格、声明式API |
| C | 容器化封装、服务网格 |
| D | 自动化管理、DevOps |
正确答案:A
解析:B是2018年新增的两项,别跟成立时的定义搞混。记法:2015年三件套(容器化+自动化+微服务),2018年再加两件(服务网格+声明式API)。
4. 阿里"五个最"里,"最丰富"具体指什么?
| 选项 | 内容 |
|---|---|
| A | 云原生开源贡献 |
| B | 云原生产品家族 |
| C | 云原生客户群体 |
| D | 云原生应用实践 |
正确答案:B
解析:五个最记的是"是什么最+最在哪个维度"这对组合:最丰富(产品家族)/最全面(开源贡献)/最广泛(客户群体)/最大规模(应用实践)/最高等级(全球评级),别死记五个形容词,记这五对组合。
5. 阿里云是哪一年成立、同时启动飞天系统研发的?
| 选项 | 内容 |
|---|---|
| A | 2006年 |
| B | 2009年 |
| C | 2014年 |
| D | 2018年 |
正确答案:B
解析:2009年阿里云成立+启动飞天系统研发;2018年宣布全面上云战略;2019年核心交易系统完成全面上云(当年双11验证通过)。三个年份容易串,按顺序记成立→宣布→验证。
6. 阿里云原生历程第一阶段(2006年-2015年)的特征是什么?
| 选项 | 内容 |
|---|---|
| A | 核心系统全面云原生化 |
| B | 应用架构互联网化,三大中间件体系上线 |
| C | 全面升级下一代云原生技术 |
| D | Serverless时代开启 |
正确答案:B
解析:三阶段:第一阶段(06-15)应用架构互联网化、三大中间件体系上线;第二阶段(16-19)核心系统全面云原生化、2017年开始规模化容器云化;第三阶段(20至今)全面升级下一代技术、成立云原生技术委员会、Serverless时代开启。C和D都是第三阶段的事,容易错配到别的阶段上。
7. 下列产品里,哪个属于第1章产品地图中"消息队列与稳定性中间件"这一类?
| 选项 | 内容 |
|---|---|
| A | EDAS |
| B | ACR |
| C | AHAS |
| D | ASM |
正确答案:C
解析:ACR的"C"是Container(容器),属于容器产品家族;AHAS的"HA"是High Availability(高可用),跟PTS、ARMS一样归在消息队列与稳定性中间件这一类。EDAS属于微服务家族,ASM属于容器家族。看产品名字里的关键词能帮着分类。
8.(场景题)某系统因为服务拆得太细、调用链太长,一个下游服务变慢拖垮了整条链路。这对应因果链的哪一环问题?
| 选项 | 内容 |
|---|---|
| A | 容器多了没法调度 |
| B | 单体应用改不动 |
| C | 分布式系统里故障成为常态 |
| D | 发布流程还是手工 |
正确答案:C
解析:这就是因果链第7环讲的雪崩问题——服务拆得越细、调用链越长,一个环节变慢就可能拖垮整条链路。应对思路是限流降级+混沌工程(具体产品在第5章)。
多选题
M1.(2个)关于容器和虚拟机的说法,正确的是?
| 选项 | 内容 |
|---|---|
| A | 容器隔离粒度是进程级,虚拟机是操作系统级 |
| B | 容器启动通常是秒级,虚拟机通常是分钟级 |
| C | 容器资源开销比虚拟机更高 |
| D | 虚拟机不需要Hypervisor |
| E | 容器和虚拟机的隔离粒度完全一样 |
正确答案:A、B
解析:C说反了,容器开销比虚拟机低;D也说反了,虚拟机恰恰是靠Hypervisor把物理机切分出来的,这是虚拟机存在的前提;E否定了A,三个干扰项互相矛盾,冷静看就能排除。多选题选错一个整题就不算对,拿不准的选项宁可不选。
M2.(3个)云原生核心技术清单,除了容器、编排、微服务之外,还包括哪些?
| 选项 | 内容 |
|---|---|
| A | 服务网格 |
| B | 声明式API |
| C | 不可变基础设施 |
| D | 分布式缓存 |
| E | 负载均衡算法 |
正确答案:A、B、C
解析:容器、编排、微服务、服务网格、声明式API、不可变基础设施,这六个技术要素加上DevOps工程文化,是目前公认的云原生核心技术清单。D、E是具体技术手段,不在这份清单里。
M3.(2个)关于阿里巴巴全面上云,正确的是?
| 选项 | 内容 |
|---|---|
| A | 2018年宣布全面上云战略 |
| B | 2019年核心交易系统完成全面上云,当年双11验证通过 |
| C | 2009年就已完成全面上云 |
| D | 全面上云是在第一阶段(2006-2015)完成的 |
| E | 至今尚未完成全面上云 |
正确答案:A、B
解析:2009年只是阿里云成立,全面上云是2018年才宣布的战略,2019年才真正完成核心交易系统的迁移并通过双11验证——这几个年份别错位。
第2章自测:容器技术基础
单选题
1. 下列关于Namespace和Cgroups的说法,错误的是?
| 选项 | 内容 |
|---|---|
| A | Namespace负责隔离,让容器看不到其他容器的进程 |
| B | Cgroups负责限制容器能用多少CPU和内存 |
| C | 这两个机制都是Docker自己发明的应用层技术 |
| D | Namespace包括PID、Network、Mount、UTS等多种类型 |
正确答案:C
解析:Namespace和Cgroups都是Linux内核本身的机制,不是Docker发明的,Docker只是把它们封装成了好用的命令行工具。记法:Namespace管"看不看得见"(隔离),Cgroups管"用得多用得少"(限制)。
2. Docker镜像分层结构中,容器运行时在只读镜像层之上额外增加的一层是?
| 选项 | 内容 |
|---|---|
| A | 只读层 |
| B | 可写层 |
| C | 网络层 |
| D | 索引层 |
正确答案:B
解析:镜像层是只读的,容器运行起来之后,所有修改(写文件、装软件)都发生在额外加的这一层可写层上,不会污染原镜像。
3. 阿里云对应Docker"仓库"这个概念的产品是?
| 选项 | 内容 |
|---|---|
| A | ACK |
| B | ACR |
| C | ASM |
| D | ARMS |
正确答案:B
解析:Docker三大概念——镜像、容器、仓库——分别对应本地构建、本地运行、远程存放分发。ACR就是阿里云版本的仓库。
4. 真正负责构建镜像、运行容器、管理网络存储的组件是?
| 选项 | 内容 |
|---|---|
| A | Docker Client |
| B | Docker Daemon(dockerd) |
| C | Docker Registry |
| D | Docker Compose |
正确答案:B
解析:Docker是C/S架构,Client只负责接收命令、转发请求,真正干活的是Daemon(dockerd),对外还暴露REST API。
5. runc是什么?
| 选项 | 内容 |
|---|---|
| A | 一种编程语言 |
| B | OCI标准的参考实现 |
| C | Kubernetes的调度器 |
| D | 阿里云的容器镜像仓库 |
正确答案:B
解析:OCI是规范文字,规定"容器该怎么跑起来";runc是把这份文字变成能跑的代码——一个实实在在的可执行程序,真正调用Linux内核的Namespace和Cgroups,把一个进程"生"成一个容器。完整调用链:Docker Client→Docker Daemon→containerd→runc,runc在最底层。
6. Docker是用什么语言写的?
| 选项 | 内容 |
|---|---|
| A | Python |
| B | Java |
| C | Go |
| D | C++ |
正确答案:C
解析:不止Docker,云原生生态的核心项目(Kubernetes、etcd、Prometheus、containerd)几乎全是Go写的,考试问任何云原生项目用什么语言,选Go。
7. Kubernetes集群中,负责调度决策、不负责真正运行容器的部分统称为?
| 选项 | 内容 |
|---|---|
| A | Node |
| B | 控制平面(Master) |
| C | Sidecar |
| D | Registry |
正确答案:B
解析:集群分两部分——控制平面(Master,负责决策:API Server/etcd/Scheduler/Controller Manager)和工作节点(Node,负责真正跑容器:kubelet/kube-proxy/容器运行时)。
8. 常驻在每个Node上、负责本节点Pod整个生命周期的组件是?
| 选项 | 内容 |
|---|---|
| A | kube-proxy |
| B | kubelet |
| C | Scheduler |
| D | Controller Manager |
正确答案:B
解析:kubelet和Master通信,负责本节点上Pod的整个生命周期;kube-proxy维护网络规则;Scheduler和Controller Manager都是Master端组件,不在Node上。
9. 负责维护网络规则,让Service能正确转发负载均衡到后端Pod的组件是?
| 选项 | 内容 |
|---|---|
| A | kubelet |
| B | kube-proxy |
| C | API Server |
| D | etcd |
正确答案:B
解析:kube-proxy专管网络转发这一件事,别和kubelet(管Pod生命周期)搞混。
10. 一个Pod里可以放一个或多个容器,这些容器之间共享的是?
| 选项 | 内容 |
|---|---|
| A | 各自独立的IP和存储卷 |
| B | 同一个网络命名空间(同一个IP)和存储卷 |
| C | 同一个CPU核心 |
| D | 同一份Dockerfile |
正确答案:B
解析:Pod存在的意义就是让必须绑在一起跑的容器(比如业务容器+Sidecar)共享同一个网络和存储——K8s保证同一个Pod里的容器一定被调度到同一个Node上。
11. 下列哪个K8s对象负责管理一组Pod副本,负责滚动升级和版本回滚?
| 选项 | 内容 |
|---|---|
| A | Service |
| B | Namespace |
| C | Deployment |
| D | ConfigMap |
正确答案:C
解析:Deployment管副本和发布;Service管稳定访问入口和负载均衡;Namespace管逻辑隔离。三个K8s对象职责别混。
12. 用户提交YAML后,第一个处理这个请求、并把最终状态写入etcd的组件是?
| 选项 | 内容 |
|---|---|
| A | Scheduler |
| B | kubelet |
| C | API Server |
| D | Controller Manager |
正确答案:C
解析:API Server是集群唯一入口,所有请求都先经它校验、写入etcd;Controller Manager干的是另一件事——持续对比期望状态和实际状态、有偏差就纠正(自愈机制)。一个管"入口和校验",一个管"持续纠偏",别搞反。
13. Kubernetes"自动装箱"能力具体指什么?
| 选项 | 内容 |
|---|---|
| A | 根据资源需求自动决定Pod放在哪台机器,提高整体资源利用率 |
| B | 自动给容器打包成Docker镜像 |
| C | 自动生成YAML配置文件 |
| D | 自动清理过期日志 |
正确答案:A
解析:K8s六大价值之一,说的是Scheduler综合考虑资源余量把Pod放到合适的机器上,跟"打包镜像"没关系,别被"装箱"这个词带偏。
14. 下列关于Kubernetes价值的说法,错误的是?
| 选项 | 内容 |
|---|---|
| A | Service屏蔽了后端Pod IP变化的细节 |
| B | Kubernetes的API是云厂商无关的标准接口,具备跨云可移植性 |
| C | 使用Kubernetes可以完全不需要考虑高可用运维成本 |
| D | 容器挂了可以自动重启,Node挂了Pod可以自动迁移 |
正确答案:C
解析:自己从零维护一套高可用的K8s集群(尤其是etcd的高可用和版本升级)运维成本很高,这也是第3章阿里云要把它做成托管产品(ACK)的原因。K8s本身的能力不等于"零运维成本"。
多选题
M1.(3个)下列属于Kubernetes控制平面(Master)组件的是?
| 选项 | 内容 |
|---|---|
| A | API Server |
| B | kubelet |
| C | etcd |
| D | Scheduler |
| E | kube-proxy |
正确答案:A、C、D
解析:kubelet和kube-proxy都是Node端组件,别选进来。
M2.(3个)下列属于Kubernetes工作节点(Node)组件的是?
| 选项 | 内容 |
|---|---|
| A | kubelet |
| B | Controller Manager |
| C | kube-proxy |
| D | 容器运行时 |
| E | API Server |
正确答案:A、C、D
解析:和M1正好对应反过来——Controller Manager和API Server都是Master端组件。
M3.(3个)关于Docker Namespace的隔离范围,下列正确的是?
| 选项 | 内容 |
|---|---|
| A | PID Namespace(进程树) |
| B | Network Namespace(网络栈) |
| C | CPU使用上限 |
| D | 内存使用上限 |
| E | Mount Namespace(文件系统挂载点) |
正确答案:A、B、E
解析:C、D是Cgroups管的范畴(限制用量),不是Namespace(负责隔离)的范畴,这题就是在考Namespace和Cgroups别混。
M4.(2个)关于容器编排系统,正确的说法是?
| 选项 | 内容 |
|---|---|
| A | Kubernetes源自Google内部Borg系统的经验 |
| B | Docker Swarm是Docker官方自带的编排工具 |
| C | Kubernetes是2017年开源的 |
| D | Mesos+Marathon不属于容器编排系统 |
| E | Kubernetes从未成为CNCF项目 |
正确答案:A、B
解析:Kubernetes是2014年开源的,2017年前后才成为主流平台的默认编排引擎选项——"开源"和"成为事实标准"是两个不同的时间点,别搞混。Mesos+Marathon是真实存在的编排系统之一,D说反了。Kubernetes是CNCF首个毕业的项目,E也说反了。
M5.(3个)下列关于Kubernetes核心对象,正确的说法是?
| 选项 | 内容 |
|---|---|
| A | Deployment管理一组Pod副本,负责滚动升级和回滚 |
| B | Service给一组变化中的Pod提供稳定不变的访问入口 |
| C | Namespace在同一集群内做逻辑隔离,划分不同项目环境 |
| D | Pod是不可再分的最小容器单位,一个Pod只能放一个容器 |
| E | kubectl是K8s的一个核心资源对象 |
正确答案:A、B、C
解析:D错——一个Pod可以放多个容器(比如业务容器+Sidecar),这正是Pod这个概念存在的意义。E错——kubectl是操作K8s的命令行工具,不是集群里的资源对象。
M6.(3个)关于Docker架构,正确的说法是?
| 选项 | 内容 |
|---|---|
| A | Docker Client和Daemon可以部署在不同机器上,通过网络调用 |
| B | Docker Daemon对外暴露REST API |
| C | Docker Client负责真正拉镜像和运行容器 |
| D | Dockerfile是容器运行时生成的日志文件 |
| E | 现在容器运行时普遍遵循OCI标准 |
正确答案:A、B、E
解析:C说反了,真正拉镜像、运行容器的是Daemon,Client只负责转发命令。D也说反了,Dockerfile是用来构建镜像的文本文件,不是运行时产生的日志。
留言区待配置
部署 Twikoo 后端后,设置环境变量 NEXT_PUBLIC_TWIKOO_ENV_ID