概述

面试运维工程师的考核分类,以及考核点。
根据具体情况针对性提问,不定期更新…

考察方向(持续更新)

  1. linux 基础考察。
    1. 基础概念(网络部分)。
    2. 常用资源,CPU,内存。
    3. 场景问题,troubleShooting。
  2. docker 容器技术。
    1. docker 基本知识。
    2. docker 构建。
  3. 和 kubernetes 相关。
    1. 基本概念。
    2. 日常基础运维。
    3. 容量规划。
    4. 安全规划。
    5. 访问路径规划。
    6. 可观测性实现。
    7. 底层原理实现。
    8. 二次功能拓展。
  4. 开发能力。
    1. shell 脚本开发能力。
    2. lua 脚本开发能力。
    3. python 脚本开发能力。
    4. python web 开发能力。
    5. go 脚本开发能力。
    6. go web 开发能力。
    7. java web 开发能力。
  5. CICD 流程经验。
    1. VM 架构下的 常规 CICD(Jenkins) 使用经验。
    2. VM 架构下的 常规 CICD(Jenkins) 设计经验。
    3. 基于 kubernetes 的 CICD 使用经验。
    4. 基于 kubernetes 的 CICD 设计经验。
  6. 综合实力。
    1. 沟通能力尚可。
    2. 熟悉基本运维流程。
    3. 逻辑思维清晰。
    4. 学习能力强。
    5. 运维体系建设。
    6. 有带团队经验。

      技术考察点

      | 面试考核列表 | | | | —- | —- | —- | | 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的日志方案设计流程是什么? | | | 加分项 | | | | 开源项目 | | | | 博客 | | | | 如何学习新技术 | | | | 思考问题 | | | | 软实力(综合能力) | | | | 运维流程 | | | | 思路清晰 | | | | 逻辑思维能力 | | | | 学习能力 | 暂时无法考察 | |