11

分章自测题(一)

·21 分钟

第8章的25道题来自官方模拟考,是考前冲刺用的。这一篇是另一件事:跟着每一章的内容单独出题,学完一章测一章,题目和第8章不重复。这一篇覆盖第1、2章,第3章开始的自测题在下一篇。

建议用法:先自己想答案,再看解析。做错的不用死记答案,回头把对应章节那一段再看一遍,搞清楚"为什么"比记住"是什么"更重要。


第1章自测:云原生概要介绍

单选题

1. ACA考试单选题一共有多少道?每题多少分?

选项内容
A25题,每题2分
B35题,每题2分
C35题,每题3分
D40题,每题2分

正确答案:B

解析:单选35题×2分=70分,多选15题×2分=30分,加起来正好100分,80分及格。


2. 下列哪个知识板块占ACA考试权重最大?

选项内容
A云原生基础
B阿里云容器服务
C阿里云微服务
DDevOps

正确答案: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. 阿里云是哪一年成立、同时启动飞天系统研发的?

选项内容
A2006年
B2009年
C2014年
D2018年

正确答案:B

解析:2009年阿里云成立+启动飞天系统研发;2018年宣布全面上云战略;2019年核心交易系统完成全面上云(当年双11验证通过)。三个年份容易串,按顺序记成立→宣布→验证。


6. 阿里云原生历程第一阶段(2006年-2015年)的特征是什么?

选项内容
A核心系统全面云原生化
B应用架构互联网化,三大中间件体系上线
C全面升级下一代云原生技术
DServerless时代开启

正确答案:B

解析:三阶段:第一阶段(06-15)应用架构互联网化、三大中间件体系上线;第二阶段(16-19)核心系统全面云原生化、2017年开始规模化容器云化;第三阶段(20至今)全面升级下一代技术、成立云原生技术委员会、Serverless时代开启。C和D都是第三阶段的事,容易错配到别的阶段上。


7. 下列产品里,哪个属于第1章产品地图中"消息队列与稳定性中间件"这一类?

选项内容
AEDAS
BACR
CAHAS
DASM

正确答案: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个)关于阿里巴巴全面上云,正确的是?

选项内容
A2018年宣布全面上云战略
B2019年核心交易系统完成全面上云,当年双11验证通过
C2009年就已完成全面上云
D全面上云是在第一阶段(2006-2015)完成的
E至今尚未完成全面上云

正确答案:A、B

解析:2009年只是阿里云成立,全面上云是2018年才宣布的战略,2019年才真正完成核心交易系统的迁移并通过双11验证——这几个年份别错位。


第2章自测:容器技术基础

单选题

1. 下列关于Namespace和Cgroups的说法,错误的是?

选项内容
ANamespace负责隔离,让容器看不到其他容器的进程
BCgroups负责限制容器能用多少CPU和内存
C这两个机制都是Docker自己发明的应用层技术
DNamespace包括PID、Network、Mount、UTS等多种类型

正确答案:C

解析:Namespace和Cgroups都是Linux内核本身的机制,不是Docker发明的,Docker只是把它们封装成了好用的命令行工具。记法:Namespace管"看不看得见"(隔离),Cgroups管"用得多用得少"(限制)


2. Docker镜像分层结构中,容器运行时在只读镜像层之上额外增加的一层是?

选项内容
A只读层
B可写层
C网络层
D索引层

正确答案:B

解析:镜像层是只读的,容器运行起来之后,所有修改(写文件、装软件)都发生在额外加的这一层可写层上,不会污染原镜像。


3. 阿里云对应Docker"仓库"这个概念的产品是?

选项内容
AACK
BACR
CASM
DARMS

正确答案:B

解析:Docker三大概念——镜像、容器、仓库——分别对应本地构建、本地运行、远程存放分发。ACR就是阿里云版本的仓库。


4. 真正负责构建镜像、运行容器、管理网络存储的组件是?

选项内容
ADocker Client
BDocker Daemon(dockerd)
CDocker Registry
DDocker Compose

正确答案:B

解析:Docker是C/S架构,Client只负责接收命令、转发请求,真正干活的是Daemon(dockerd),对外还暴露REST API。


5. runc是什么?

选项内容
A一种编程语言
BOCI标准的参考实现
CKubernetes的调度器
D阿里云的容器镜像仓库

正确答案:B

解析:OCI是规范文字,规定"容器该怎么跑起来";runc是把这份文字变成能跑的代码——一个实实在在的可执行程序,真正调用Linux内核的Namespace和Cgroups,把一个进程"生"成一个容器。完整调用链:Docker Client→Docker Daemon→containerd→runc,runc在最底层。


6. Docker是用什么语言写的?

选项内容
APython
BJava
CGo
DC++

正确答案:C

解析:不止Docker,云原生生态的核心项目(Kubernetes、etcd、Prometheus、containerd)几乎全是Go写的,考试问任何云原生项目用什么语言,选Go。


7. Kubernetes集群中,负责调度决策、不负责真正运行容器的部分统称为?

选项内容
ANode
B控制平面(Master)
CSidecar
DRegistry

正确答案:B

解析:集群分两部分——控制平面(Master,负责决策:API Server/etcd/Scheduler/Controller Manager)和工作节点(Node,负责真正跑容器:kubelet/kube-proxy/容器运行时)。


8. 常驻在每个Node上、负责本节点Pod整个生命周期的组件是?

选项内容
Akube-proxy
Bkubelet
CScheduler
DController Manager

正确答案:B

解析:kubelet和Master通信,负责本节点上Pod的整个生命周期;kube-proxy维护网络规则;Scheduler和Controller Manager都是Master端组件,不在Node上。


9. 负责维护网络规则,让Service能正确转发负载均衡到后端Pod的组件是?

选项内容
Akubelet
Bkube-proxy
CAPI Server
Detcd

正确答案:B

解析:kube-proxy专管网络转发这一件事,别和kubelet(管Pod生命周期)搞混。


10. 一个Pod里可以放一个或多个容器,这些容器之间共享的是?

选项内容
A各自独立的IP和存储卷
B同一个网络命名空间(同一个IP)和存储卷
C同一个CPU核心
D同一份Dockerfile

正确答案:B

解析:Pod存在的意义就是让必须绑在一起跑的容器(比如业务容器+Sidecar)共享同一个网络和存储——K8s保证同一个Pod里的容器一定被调度到同一个Node上。


11. 下列哪个K8s对象负责管理一组Pod副本,负责滚动升级和版本回滚?

选项内容
AService
BNamespace
CDeployment
DConfigMap

正确答案:C

解析:Deployment管副本和发布;Service管稳定访问入口和负载均衡;Namespace管逻辑隔离。三个K8s对象职责别混。


12. 用户提交YAML后,第一个处理这个请求、并把最终状态写入etcd的组件是?

选项内容
AScheduler
Bkubelet
CAPI Server
DController Manager

正确答案:C

解析:API Server是集群唯一入口,所有请求都先经它校验、写入etcd;Controller Manager干的是另一件事——持续对比期望状态和实际状态、有偏差就纠正(自愈机制)。一个管"入口和校验",一个管"持续纠偏",别搞反。


13. Kubernetes"自动装箱"能力具体指什么?

选项内容
A根据资源需求自动决定Pod放在哪台机器,提高整体资源利用率
B自动给容器打包成Docker镜像
C自动生成YAML配置文件
D自动清理过期日志

正确答案:A

解析:K8s六大价值之一,说的是Scheduler综合考虑资源余量把Pod放到合适的机器上,跟"打包镜像"没关系,别被"装箱"这个词带偏。


14. 下列关于Kubernetes价值的说法,错误的是?

选项内容
AService屏蔽了后端Pod IP变化的细节
BKubernetes的API是云厂商无关的标准接口,具备跨云可移植性
C使用Kubernetes可以完全不需要考虑高可用运维成本
D容器挂了可以自动重启,Node挂了Pod可以自动迁移

正确答案:C

解析:自己从零维护一套高可用的K8s集群(尤其是etcd的高可用和版本升级)运维成本很高,这也是第3章阿里云要把它做成托管产品(ACK)的原因。K8s本身的能力不等于"零运维成本"。

多选题

M1.(3个)下列属于Kubernetes控制平面(Master)组件的是?

选项内容
AAPI Server
Bkubelet
Cetcd
DScheduler
Ekube-proxy

正确答案:A、C、D

解析:kubelet和kube-proxy都是Node端组件,别选进来。


M2.(3个)下列属于Kubernetes工作节点(Node)组件的是?

选项内容
Akubelet
BController Manager
Ckube-proxy
D容器运行时
EAPI Server

正确答案:A、C、D

解析:和M1正好对应反过来——Controller Manager和API Server都是Master端组件。


M3.(3个)关于Docker Namespace的隔离范围,下列正确的是?

选项内容
APID Namespace(进程树)
BNetwork Namespace(网络栈)
CCPU使用上限
D内存使用上限
EMount Namespace(文件系统挂载点)

正确答案:A、B、E

解析:C、D是Cgroups管的范畴(限制用量),不是Namespace(负责隔离)的范畴,这题就是在考Namespace和Cgroups别混。


M4.(2个)关于容器编排系统,正确的说法是?

选项内容
AKubernetes源自Google内部Borg系统的经验
BDocker Swarm是Docker官方自带的编排工具
CKubernetes是2017年开源的
DMesos+Marathon不属于容器编排系统
EKubernetes从未成为CNCF项目

正确答案:A、B

解析:Kubernetes是2014年开源的,2017年前后才成为主流平台的默认编排引擎选项——"开源"和"成为事实标准"是两个不同的时间点,别搞混。Mesos+Marathon是真实存在的编排系统之一,D说反了。Kubernetes是CNCF首个毕业的项目,E也说反了。


M5.(3个)下列关于Kubernetes核心对象,正确的说法是?

选项内容
ADeployment管理一组Pod副本,负责滚动升级和回滚
BService给一组变化中的Pod提供稳定不变的访问入口
CNamespace在同一集群内做逻辑隔离,划分不同项目环境
DPod是不可再分的最小容器单位,一个Pod只能放一个容器
Ekubectl是K8s的一个核心资源对象

正确答案:A、B、C

解析:D错——一个Pod可以放多个容器(比如业务容器+Sidecar),这正是Pod这个概念存在的意义。E错——kubectl是操作K8s的命令行工具,不是集群里的资源对象。


M6.(3个)关于Docker架构,正确的说法是?

选项内容
ADocker Client和Daemon可以部署在不同机器上,通过网络调用
BDocker Daemon对外暴露REST API
CDocker Client负责真正拉镜像和运行容器
DDockerfile是容器运行时生成的日志文件
E现在容器运行时普遍遵循OCI标准

正确答案:A、B、E

解析:C说反了,真正拉镜像、运行容器的是Daemon,Client只负责转发命令。D也说反了,Dockerfile是用来构建镜像的文本文件,不是运行时产生的日志。

💬

留言区待配置

部署 Twikoo 后端后,设置环境变量 NEXT_PUBLIC_TWIKOO_ENV_ID