侧边栏壁纸
博主头像
★街角晚灯★博主等级

博观而约取 厚积而薄发

  • 累计撰写 466 篇文章
  • 累计创建 185 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

运维岗位部分面试题

WinJay
2023-08-16 / 0 评论 / 0 点赞 / 116 阅读 / 8116 字 / 正在检测是否收录...
温馨提示:
文章发布较早,内容可能过时,阅读注意甄别。。。。

运维岗位面试题

1、DevOps 的关键组件是什么?

  • 持续集成
  • 持续测试
  • 持续交付
  • 持续贩卖

2、简述一些流行的 DevOps 工具?

  • Ansible/Puppet/chef/saltstack –配置管理和应用程序部署工具
  • Docker –容器化工具
  • Git/Gitlab –版本控制系统(VCS)工具
  • Jenkins –持续集成(CI)工具
  • Nexus - 制品库管理工具
  • Jira –敏捷的团队协作工具
  • wiki -文档管理工具
  • Promtheus –连续监控工具
  • Selenium/jmeter –连续测试(CT)工具

3、简述RabbitMQ是什么?

  • RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器;消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用;队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用;消息队列不会保留消息,直到可以成功地传递为止,当然,消息队列保存消息也是有期限的。

4、简述Raid0、Raid1、Raid5 三种工作模式的工作原理及特点。

  • RAID0 可以是一块盘和N个盘组合;其优点读写快,是RAID中最好的;缺点:没有冗余,一块坏了数据就全没有了。
  • RAID1 只能2*n块盘,盘的大小可以不一样,以小的为准;10G+10G只有10G,另一个做备份。它有100%的冗余,缺点:浪费资源,成本高。
  • RAID5 至少需要3块盘,容量计算10*(n-1),损失一块盘;特点:读写性能一般,读还好一点,写不好。

5、简述Nginx的正向代理和反向代理?

  • 正向代理:客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端(访问国外网站)
  • 反向代理:代理服务器来接受请求,然后将请求转发给内网服务器,再将获得的内容返回给客户端。

6、简述Keepalived的工作原理?

  • 在一个虚拟路由器中,只有作为 MASTER VRRP 路由器会一直发送 VRRP 通告信息, BACKUP 不会抢占MASTER ,除非它的优先级更高。当MASTER 不可用时(BACKUP 收不到通告信息)多台BACKUP 中优先级最高的这台会被抢占为MASTER 。这种抢占是非常快速的(<1s),以保证服务的连续性由于安全性考虑,VRRP 包使用了加密协议进行加密。BACKUP 不会发送通告信息,只会接收通告信息

7、简述TCP/IP的七层模型是什么?

  • 应用层 (Application):网络服务与最终用户的一个接口。

  • 表示层(Presentation Layer):数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)

  • 会话层(Session Layer):建立、管理、终止会话。(在五层模型里面已经合并到了应用层)

  • 传输层 (Transport):定义传输数据的协议端口号,以及流控和差错校验。

  • 网络层 (Network):进行逻辑地址寻址,实现不同网络之间的路径选择。

  • 数据链路层 (Link):建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)

  • 物理层(Physical Layer):是计算机网络OSI模型中最低的一层

8、Web服务器常用的负载架构有哪些?

  • Nginx
  • Haproxy
  • Keepalived
  • LVS

9、简述Jenkins是什么?

  • Jenkins是一个用Java编写的开源自动化工具,带有为持续集成目的而构建的插件。Jenkins用于持续构建和测试您的软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得全新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。

10、简述什么是持续集成?

  • 在软件开发中,多个开发人员或团队在同一个Web应用程序的不同部分上工作。因此,在这种情况下,您必须通过集成所有模块来执行集成测试。为了做到这一点,每天都要对每段代码进行自动化处理,以便对所有代码进行测试。此过程称为连续集成。

11、简述如何使用Jenkins Pipeline将不同的分支发布到不同的环境中?

  • 可以使用 when 指令来实现,但此时不能直接使用 branch 的判断条件,需要配合 environment 条件进行判断分支信息,然后执行匹配成功 steps 内容。

12、简述什么叫网站灰度发布?

  • 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式; AB test 就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B;如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来;灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

13、列举在 Dockerfile 配置文件中最常用的指令有哪些?

  • FROM :使用 FROM 为后续的指令建立基础映像。在所有有效的 Dockerfile 中, FROM 是第一条指令。
  • LABELLABEL 指令用于组织项目映像,模块,许可等。在自动化布署方面 LABEL 也有很大用途。在 LABEL 中指定一组键值对,可用于程序化配置或布署 Docker 。
  • RUNRUN 指令可在映像当前层执行任何命令并创建一个新层,用于在映像层中添加功能层,也许最来的层会依赖它。
  • CMD: 使用 CMD 指令为执行的容器提供默认值。在 Dockerfile 文件中,若添加多个 CMD 指令,只有最后的 CMD 指令运行。

14、简述 Dockerfile 配置文件中的 COPYADD 指令有什么不同?

  • 虽然 ADD COPY 功能相似,推荐 COPY ;因为 COPY ADD 更直观易懂。 COPY 只是将本地文件拷入容器这么简单,而 ADD 有一些其它特性功能(诸如,本地归档解压和支持远程网址访问等),这些特性在指令本身体现并不明显。因此,有必要使用 ADD 指令的最好例子是需要在本地自动解压归档文件到容器中的情况,如 ADD rootfs.tar.xz

15、简述Docker 中都有哪些常用命令?

命令 说明
docker pull 拉去或更新指定的镜像
docker push 将镜像推送到远程仓库
docker rm 删除容器
docker rmi 删除镜像
docker images 列出所有镜像
docker ps 列出所有容器

16、简述Kubernetes常见的部署方式?

  • kubeadm:也是推荐的一种部署方式;
  • 二进制方式部署:
  • minikube:在本地轻松运行一个单节点 Kubernetes 群集的工具。

17、简述kube-proxy作用?

  • kube-proxy运行在所有节点上,它监听 apiserverserviceendpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能。简单理解此进程是Service的透明代理兼负载均衡器,其核心功能是将到某个Service的访问请求转发到后端的多个Pod实例上。
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区