概述
面试运维工程师的考核分类,以及考核点。
根据具体情况针对性提问,不定期更新…
考察方向(持续更新)
- linux 基础考察。
- 基础概念(网络部分)。
- 常用资源,CPU,内存。
- 场景问题,troubleShooting。
- docker 容器技术。
- docker 基本知识。
- docker 构建。
- 和 kubernetes 相关。
- 基本概念。
- 日常基础运维。
- 容量规划。
- 安全规划。
- 访问路径规划。
- 可观测性实现。
- 底层原理实现。
- 二次功能拓展。
- 开发能力。
- shell 脚本开发能力。
- lua 脚本开发能力。
- python 脚本开发能力。
- python web 开发能力。
- go 脚本开发能力。
- go web 开发能力。
- java web 开发能力。
- CICD 流程经验。
- VM 架构下的 常规 CICD(Jenkins) 使用经验。
- VM 架构下的 常规 CICD(Jenkins) 设计经验。
- 基于 kubernetes 的 CICD 使用经验。
- 基于 kubernetes 的 CICD 设计经验。
- 综合实力。
- 沟通能力尚可。
- 熟悉基本运维流程。
- 逻辑思维清晰。
- 学习能力强。
- 运维体系建设。
- 有带团队经验。
技术考察点
| 面试考核列表 | | | | —- | —- | —- | | Linux基础 | | | | 工具 | linux有哪些性能分析工具? | | | | 监控工具,例如top命令,是在底层如何实现指标抓取? | | | | | | | 网络 | 服务器的网络带宽比较大,如何排查这个问题?从分析到实际解决,尽可能详细 | | | CPU | 什么是上下文切换? | | | | 什么是中断?
有哪些类型的中断? | | | | 中断和上下文切换有什么区别? | | | | 如何查看CPU的使用率?
有几种工具方式来实现? | | | | 服务器出现某个进程的CPU使用率100%这个是否是问题?
如果是问题那么该如何解决?请说下排查思路
如果不是问题,那为什么呢? | | | | CPU负载和使用率的区别是什么 | | | | 一个系统的CPU使用率总是不规律的出现100%,问题排查的思路,以及解决方案是什么? | | | | 一个系统进程kswapd0的CPU使用率持续100%,请问这个原因是什么? | | | 内存 | buffer和cache的区别是什么? | | | | 如何快速释放内存中的buffer? | | | 存储 | 磁盘误删数据,如何恢复数据? | | | | ext4和xfs两种文件系统有什么区别? | | | | 生产环境推荐使用哪种类型的文件系统,为什么? | | | | 磁盘的分区和格式化有什么区别? | | | | raid的有哪些不同的类型?分别介绍下 | | | 安全 | | | | 计算机体系 | | | | TCP/IP | | | | | | | | shell | | | | | | | | | | | | python | | | | | | | | java | | | | | | | | go | | | | | | | | lua | | | | | | | | 基于Kubernetes的持续集成持续发布 | | | | | 如何实现基于云原生的CICD构建方案?
方案需要满足以下条件:极致弹性,成本最优,无人工介入 | | | | CICD流程中,资源利用率低下的问题,是否有很好的优化方式? | | | | 你们的CICD流程是怎么样的? | | | | 这个流程中是否还有不完善的地方?如何优化这些步骤 | | | | 如果让你重新设计一套CICD流程,你会怎么做?简单叙述以下大致流程即可 | | | | 对GitOps是否有了解? | | | | 应用发布都需要写好资源清单,那这些资源清单如何保存?丢失了是否会有影响 | | | | 你对运维平台的理解? | | | | | | | 容器技术 | | | | Docker基础 | 什么是docker镜像?比如centos系统,从官网下载的镜像和docker的centos镜像,有什么区别? | | | | | | | Docker进阶 | 通过docker run 启动一个容器,启动流程或者说是调用链是怎么样的?从docker CLI开始说就可以 | | | | 使用docker进行镜像构建,是否会有潜在的问题? | | | | 是否可以使用其他工具进行镜像构建? | | | Docker高级 | scratch镜像是做什么的?什么情况下需要这个镜像? | | | | contained和docker的关系是什么? | | | | docker镜像分为哪些层? | | | kubernetes经验 | 集群是什么规模? | | | | 集群部署选型有哪些?为什么选择当前架构类型?考量点是什么? | | | | 你在集群的运维和规划中扮演什么角色? | | | | 集群的维护过程中,最让你印象深刻的问题是什么?如何解决的? | | | | 集群当前进入稳定运行时期,那对于集群的未来规划和发展方向是什么? | | | | 集群是否还有可以优化的点?不完善的地方?任何点都可以 | | | | CICD流程如何和集群结合起来? | | | | 如何把应用部署到集群中? | | | | 倘若使用kubectl部署资源清单到集群来实现部署,是否会有潜在安全问题? | | | | 如何实现应用回滚? | | | | 使用helm或者deployment的undo回滚应用,有什么区别?是否有潜在风险? | | | | 如何实现金丝雀发布?有几种方式实现? | | | | 发布成功之后,如何确认该应用成功,可以提供服务,有哪些手段? | | | | 集群的权限是如何规划的?sa,rbac | | | | 集群的安全是否有规划?为什么要这么做? | | | | 集群的网络策略是否有规划,为什么要这么做? | | | | 如果集群被攻击,实际上意味着业务容器pod可能被入侵,
那么如何保证该node节点的其他业务pod是正常的? | | | | 集群中是否有白盒监控?你认为是否有必要? | | | | 集群的node节点的监控是否健全?那对节点的各类关键io资源监控,是否足够?(内核观测) | | | | 如果访问流量翻倍,你们运维的集群是否可以保证,应该如何应对? | | | kubernetes系统 | 节点在初始化的时候为什么要禁用swap分区? | | | kubernetes基础 | 如何指定cgroup的类型? | | | | limit和request的区别? | | | | 如何定义应用的QoS? | | | | 什么是APIServer? | | | | 什么是POD? | | | | 什么是init容器? | | | | 如果init容器启动,如何进行调试? | | | | 集群内部的CoreDNS出现5秒超时,这个问题如何解决? | | | | 集群内部无论是核心组件,还是第三方组件,都存在时区为东八区的情况,是否是问题?这么解决? | | | kubernetes原理 | 1.20版本之后,将弃用docker作为底层运行时,请问你怎么看? | | | | contained和docker的关系是什么? | | | | contained是否可以完全取代docker? | | | | 如何指定contained为底层运行时? | | | | docker-shim是什么? | | | | runC是什么? | | | | CRI,CSI,CNI是什么? | | | | OCI是什么?主要由哪两部分构成? | | | | pause容器在pod中起到什么作用? | | | | 从kubectl创建pod开始,到runC启动容器,经历了哪些流程? | | | | 使用ipvs和iptables的区别在哪里? | | | kubernetes数据 | 如何实现etcd数据备份? | | | | 如何保证etcd的高可用? | | | | etcd watch 原理是怎么实现的? | | | | 在集群中的有哪些功能依赖于ectd的watch? | | | | etcd的raft算法是否有了解过? | | | | raft算法基本实现原理,是否可以简单介绍下? | | | kubernetes调度 | 调度组件是哪个? | | | | 一个pod申请创建之后,调度流程主要分为哪些? | | | | 如何人工去干预调度过程? | | | | 是否有自己开发过调度器? | | | | 集群当中是否可以包含多个调度器? | | | | node节点是否可以超分? | | | | 如何检测当前node节点资源不足? | | | | 集群总体资源使用量如何监控,以哪些指标来展现该度量? | | | | | | | kubernetes开发 | informer机制是如何实现的? | | | kubernetes发布 | 如何实现大规模集群中的镜像预热? | | | | pod启动之后,从拉取镜像开始,到真正提供服务,期间花费的时间可以分为哪些分片?例如是传输镜像,解压镜像等。 | | | | 上述的过程中,是哪些步骤花费时间最长? | | | | 如何增加从调度到node节点之后,到pod启动提供服务的时间?如何优化?思路是什么? | | | kubernetes监控 | 如何实现对集群的监控? | | | | 一个集群中是否只能有一个prometheus实例,如果多个实例副本会怎么样? | | | | prometheus 方案选型为什么不选择云上产品? | | | | pushgatetway的使用场景什么? | | | | 什么是exporter?我们自己是否可以实现exporter? | | | | 应用在集群中运行,监控这些应用主要包含哪些方面? | | | | 应用有些内部指标,需要暴露给外部监控,比如promethes,如何实现? | | | kubernetes弹性 | 集群的弹性扩容有哪些类型? | | | | 是否需要考虑node级别的扩容? | | | | 是否可以实现不扩容的node的情况下,快速HPA(资源不足) | | | | HPA和VPA有什么区别? | | | | 如何实现HAP? | | | | 如何实现VPA? | | | | 如果node节点资源不够?如果快速扩容node节点,如何实现? | | | | | | | kubernetes日志 | 日志收集方案有哪些?他们之间的优缺点是什么,可以简单对比下吗? | | | | | | | kubernetes部署 | 如何实现master节点的高可用?有哪些方案? | | | | | | | kubernetes存储 | pv和pvc有什么区别? | | | | 能否解释一下sc是什么?他和pv的区别或者从属关系是什么? | | | kubernetes安全 | PSP是什么?它是否为全局资源,针对所有ns生效。 | | | kubernetes应用层抽象 | 集群是基础资源编排工具,那k8s是否有应用概念? | | | | 如何实现在集群层面的运维编排 | | | | | | | kubernetes开源项目 | | | | | | | | | | | | 阿里云 | | | | 云产品使用和解决方案 | 如何实现多个VPC的网络互通? | | | | 如何实现基于云原生的CICD构建方案?
方案需要满足以下条件:极致弹性,成本最优,无人工介入 | | | | CICD流程中,资源利用率低下的问题,是否有很好的优化方式? | | | | ECI弹性容器如何对接到ACK | | | | ASK的基于什么原理实现,可能的应用场景有哪些? | | | | 通过SLS收集ACK的日志方案设计流程是什么? | | | 加分项 | | | | 开源项目 | | | | 博客 | | | | 如何学习新技术 | | | | 思考问题 | | | | 软实力(综合能力) | | | | 运维流程 | | | | 思路清晰 | | | | 逻辑思维能力 | | | | 学习能力 | 暂时无法考察 | |
