• 软件运维常见面试题


    软件运维常见面试题

    文章目录

    1、请说出在TCP/IP五层参考模型中,从下网上分别指的是?

    ​ 答:物理层、数据链路层、网络层、传输层、应用层

    2、请说出OSI七层参考模型中,从下往上分别指得是?

    ​ 答:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

    3、交换机的工作原理中,不包含下列那个选项?

    ​ A、学习

    ​ B、广播

    ​ C、填充路由表

    ​ D、更新

    答:C

    4、请说一下,你在从事软件运维工作中的日常?

    1. 监测与维护系统。运维人员需要时刻关注系统运行状态,有异常情况及时发现和解决,保证系统稳定、高效运行。
    2. 及时处理系统故障。如数据库出现故障、服务器宕机等,及时跟进解决。需要掌握紧急救援措施,减少系统停机时间,提高用户体验。
    3. 对系统进行优化和升级。通过对系统性能指标的分析,发现瓶颈并及时优化。对于软件固件或版本更新,也需要及时升级以确保安全性、稳定性以及应用功能。
    4. 数据备份与恢复。运维人员需要定期备份重要数据,并能对数据丢失情况进行紧急恢复。
    5. 安全审计。对系统安全漏洞进行检查,规避和防范安全风险。同时,加强系统的安全措施,提高系统的安全性和稳定性。
    6. 做好通信交流,及时跟进用户反馈,尽量解决用户问题。

    5、假如在LINUX操作系统中,你想要递归查询目录/media,应该使用那个命令呢?

    ​ A、ls -l /media

    ​ B、ls -A /media

    ​ C、ls -R /media

    ​ D、ls -ld /media

    答案:C

    6、假如你在工作中你的运维文档突然忘记了放在哪里,只记得名字叫做operation.md,你要怎么查找

    ​ A、find / -size ‘operation.md’

    ​ B、find / -name ‘operation.md’

    ​ C、find / -mtime ‘operation.md’

    ​ D、find / -user ‘operation.md’

    答案:B

    7、现在有一条命令cd /etc/sysconfig/network-scripts,如何将这条命令简化呢?

    ​ A、使用alias定义别名

    ​ B、直接使用cd命令

    ​ C、直接运行/etc/sysconfig/network-scripts

    ​ D、使用unalias定义别名

    答案:A

    8、LINUX系统中如何只是删除空目录?

    ​ A、rm -rf

    ​ B、rmdir

    ​ C、rm

    ​ D、rf -rm

    答案:B

    9、在Linux系统中,/dev/sdb表示什么含义?

    ​ A、SCSI接口类型的第一块磁盘

    ​ B、SCSI接口类型的第二块磁盘

    ​ C、IDE接口类型的第二块磁盘

    ​ D、PCle接口类型的第二块磁盘

    答案:B

    10、请问在LINUX系统中哪个符号可以匹配任意个字符?

    ​ A、*

    ​ B、?

    ​ C、!

    ​ D、@

    答案:A

    11、下列选项中关于cp和mv命令的区别说法正确的是?(多选)

    ​ A、cp可以拷贝会使源文件消失

    ​ B、mv移动会使源文件消失

    ​ C、cp不可以对源文件进行改名

    ​ D、mv可以对源文件进行改名

    答案:BCD

    12、Linux系统中,/etc/passwd文件的第六个字段表示什么含义?

    ​ A、描述信息

    ​ B、家目录

    ​ C、密码占位符

    ​ D、解释器

    答案:B

    13、在CentOS系统如何停止服务crond

    ​ A、systemctl stop crond

    ​ B、ps aux | grep crond

    ​ C、pstree crond

    ​ D、stop crond

    答案:A

    14、作为软件运维工程师,如何查看系统CPU平均负载

    ​ A、uptime

    ​ B、ls

    ​ C、lsblk

    ​ D、tree

    答案:A

    15、sshd服务的默认端口号是?

    ​ A、80

    ​ B、90

    ​ C、21

    ​ D、22

    答案:D

    16、NGINX虚拟WEB主机的类型有?(多选)

    ​ A、基于域名

    ​ B、基于端口

    ​ C、基于IP

    ​ D、基于网络

    答案:ABC

    17、下列选项中哪些是NGINX的功能?(多选)

    ​ A、做web服务

    ​ B、做四层代理服务

    ​ C、做路由转发

    ​ D、做七层代理服务

    答案:ABD

    18、关于tomcat启动说法正确的是?(多选)

    ​ A、tomcat在启动过程中需要依赖与JDk

    ​ B、tomcat支持php动态页面

    ​ C、tomcat在启动过程中需要大量随机数

    ​ D、tomcat启动之后默认只会监听8080端口

    答案:AC

    19、下列选项中,属于vim文本编辑器模式的是?(多选)

    ​ A、命令模式

    ​ B、插入模式

    ​ C、修改模式

    ​ D、末行模式

    答案:ABD

    20、在软件运维过程中,以下哪些任务属于常见的监控和调优任务?

    ​ A. 数据备份

    ​ B. 用户培训

    ​ C. 运行日志分析

    ​ D. 代码编写

    答案:C

    解析:监控和调优是软件运维的重要任务之一,主要是为了保障系统的稳定性和高效性。其中,运行日志分析是常见的监控和调优任务,通过对系统运行日志的分析,可以及时发现系统的异常状况和性能瓶颈,进行相应的调优和优化。数据备份是保障数据安全的重要措施,但并不属于监控和调优的任务;而用户培训和代码编写则是开发和实施阶段的任务,不属于软件运维的范畴。

    21、在Linux系统中如何查找某命令的程序文件?()

    ​ A、which

    ​ B、ls

    ​ C、find

    ​ D、cat

    答案:A

    22、在Linux系统中格式化磁盘分区的命令为?()

    ​ A、parted

    ​ B、blkid

    ​ C、mkfs

    ​ D、mount

    答案:C

    23、在软件运维中,需要注意哪些细节?请列举至少三点。

    在软件运维中,需要注意以下细节:

    1. 安全性:保障系统的安全性是软件运维的重要任务之一。需要设置合适的权限和访问控制,防止数据泄露或被篡改。还需要定期更新补丁和升级软件,避免安全漏洞对系统造成影响。
    2. 监控和调优:监控系统的运行情况和性能表现,提前发现并解决潜在问题、优化系统,保障系统的稳定性和高效性。
    3. 日常维护:保持系统的正常运转,包括备份数据、清理日志、清理磁盘空间等。此外,还需要关注运行环境、硬件设备等方面,防止出现故障。

    24、请谈一下你在软件运维工作中遇到的最大问题是什么,以及你是如何解决的?

    我在软件运维的过程中遇到最大的问题是系统故障和性能问题。我曾经遇到过一次系统出现了严重的瓶颈,导致网站无法正常访问。我的解决方案如下:

    1. 快速定位问题:我花了一段时间仔细检查了系统的配置和运行情况,发现CPU、硬盘和内存的使用率都很高,导致系统无法正常工作。
    2. 确定优化方案:为了解决这个问题,我决定尝试优化数据库、调整系统配置和升级软件等方案。我首先使用优化器分析了数据库性能问题,然后清理了系统垃圾和无用数据,并且增加了一些缓存的设置,提高系统处理速度。
    3. 测试效果:我进行了一次性能测试,发现这些调整确实有效,并且系统的响应速度有了明显的改善。

    25、假如在软件运维工作中客户提出了一个比较着急的问题,你会怎么解决?

    作为一个运维工程师,急事处理应该是我们工作中常见的一个环节。如果客户提出了一个比较紧急的问题,我会采取以下措施进行解决:

    1. 立即回复客户,告知已经收到问题,并且正快速处理。
    2. 确认该问题是否属于自己任务范畴,如果不是,立即联系相关人员进行处理。
    3. 对问题进行初步分析,判断紧急程度,优先级别与解决方案,以保证最快速解决问题。
    4. 如果无法立即解决问题,及时反馈给客户,并提供一些可能可用的临时解决方案以减轻客户的损失。
    5. 最后,解决问题后,及时回馈客户,确认问题已经解决,并且帮助客户避免类似的问题发生。在解决问题过程中认真记录问题处理的过程和解决方案,以便后续参考。

    26、在Linux系统中哪些方式可以将标准输出和错误输出都重定向到文件?

    答案:

    命令 &> 文件名							#无论正确错误都覆盖重定向
    命令 &>> 文件名							#无论正确错误都追加重定向
    
    • 1
    • 2

    27、shell中正则表达式符号: *、+、?、[]、[^]、{n}分别代表什么含义?

    答案:

    *表示匹配前面的字符出现了任意次(包括0次)
    +表示匹配前面的字符出现了至少1次(1次或多次)
    ? 表示匹配前面的字符出现了0次或1次
    [] 表示集合,匹配集合中的任意单个字符
    [^] 表示对集合取反
    {n} 表示精确匹配前面的字符出现了n次
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    28、shell中变量分为哪些类型?

    答案:自定义变量、环境变量、位置变量、预定义变量

    29、在Shell中,下列选项满足自定义变量条件的是?

    ​ A、1a2b3c=“data”

    ​ B、a*tx=“data”

    ​ C、dxc_1c=“data”

    ​ D、123=“data”

    答案:C

    30、工作中你都写过什么Shell脚本?

    参考答案:

    1)监控脚本(监控系统、监控服务、监控硬件信息、监控性能、安全监控等)
    2)系统初始化脚本(创建目录,创建账户,安装软件包,设置权限,修改内核参数等)
    3)一键部署(源码安装脚本)
    4)备份脚本(自动备份数据库,备份网站数据,备份日志,备份配置文件等)
    5)日志分析脚本(分析日志数据,汇总并统计相关信息,如PV、UV等)

    6)…

    31、编写脚本使用ping命令检测一组IP地址判断是否处于活跃状态。

    • 要求(range:192.168.1.200-192.168.1.220,一个IP发送4个ping包,ping的过程不能输出信息到终
      端)?

    参考答案:

    #!/bin/bash
    for i in {200..220}
    do
    ping -c 4 -i 0.2 -W 1 192.168.1.$i &>/dev/null
    if [ $? -ne 0 ];then
    echo "192.168.1.$i is down"
    fi
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    32、Nginx支持哪些类型的虚拟主机,如何配置?

    答案:基于端口的虚拟主机、基于域名的虚拟主机、基于IP的虚拟主机。

    server {
    	listen IP地址:端口;
    	server_name 域名;
    	location / {
    		root html;
    		index index.html
    		}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    33、Nginx支持哪些类型代理服务器,如何配置?

    答案:基于7层代理、基于4层代理
    定义集群服务器模板配置:

    upstream servers {
    	server 后端真实服务器IP:端口;
    	server 后端真实服务器IP:端口;
    }
    调用集群的配置文件模板:
    	7层调度:proxy_pass http://servers;
    	4层调度:proxy_pass servers;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    34、HTTP常见状态码有哪些,分别是什么含义?

    答案:

    状态码功能描述
    200一切正常
    301永久重定向
    302临时重定向
    401用户名或密码错误
    403禁止访问(客户端IP被拒绝)
    404网页文件不存在
    414请求url头部过长
    500服务器内部错误

    35、什么是灰度发布

    答案:
    灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。
    让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么
    逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候
    就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度
    期。

    36、Web请求在Tomcat请求中的请求流程是怎么样的?

    答案:
    ​ 1)浏览器输入URL地址;
    ​ 2)查询本机hosts文件寻找IP;
    ​ 3)查询DNS服务器寻找IP;
    ​ 4)向该IP发送Http请求;
    ​ 5)Tomcat容器解析主机名;
    ​ 6)Tomcat容器解析Web应用;
    ​ 7)Tomcat容器解析资源名称;
    ​ 8)Tomcat容器获取资源;
    ​ 9)Tomcat响应浏览器。

    37、你在工作中是怎么监控Tomcat的内存使用情况?

    答案:
    使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载的类的总量等;
    JDK自带的jvisualvm可以下载插件(如GC等),可以查看更丰富的信息。如果是分析本地的Tomcat的话,
    还可以进行内存抽样等,检查每个类的使用情况。

    38、什么是动态资源,什么是静态资源?

    答案:

    • 静态资源:可以理解为前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不
      需要程序处理,直接就能够显示的页面,如果想修改内容则必须修改页面,但是访问效率相当高。
    • 动态资源:一般客户端请求的动态资源,先将请求交于web容器, 这些资源不可以在客户端直接打开,
      需要在服务器运行,甚至需要web容器连接数据库,数据库处理数据之后,将内容交给web服务器,
      web服务器返回给客户端解析渲染处理。

    39、zabbix监控平台有哪些组件?

    答案:

    • Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其
      组织进行
    • Database Storage:专用于存储所有配置信息,以及有zabbix收集的数据
    • Web interface (frontend): zabbix的GUI接口(网页),通常与server运行在同一台机器上
    • Proxy:可选组件,常用于分布式监控环境中,代理Server收集部分被监控数据并统一 发往Server端
    • Agent:部署在被监控主机上,负责收集本地数据并发往Server端或者Proxy端

    40、zabbix的两种监控模式分别是什么,有什么区别?

    答案:

    • zabbix agent检测分为两种模式:主动模式和被动模式
    • 被动模式:由server向agent发出指令获取数据, 即agent被动的去获取数据并返回给server ,server
      周期性的向agent 索取数据, 这总模式的最大问题就是会加大server的工作量, 在数百台服务器的环境
      下 server不能及时获取到最新数据, 但这也是默认的工作方式。
    • 主动模式,不需要监控服务器连接被监控主机索取监控数据,而是被监控端,按时间,周期性向监控服
      务器主动提交数据。

    41、prometheus各个组件的作用分别是什么?

    答案:

    • Prometheus Server:
      Prometheus Sever是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储及查询
    • Exporters:Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server , Prometheus Server 通过访问该Exporter提供的Endpoint端点,即可以获取到需要采集的监控数据。
    • AlertManager:
      在Prometheus Server中支持基于Prom QL创建告警规则,如果满足Prom QL定义的规则,则会产生一
      条告警。
    • PushGateway:
      Prometheus数据采集基于Prometheus Server从Exporter pull数据,因此当网络环境不允许
      Prometheus Server和Exporter进行通信时,可以使用PushGateway来进行中转。
  • 相关阅读:
    C++测手速小游戏
    RabbitMQ 学习(一)---- 安装与基本配置
    python 跨进程通信可以使用哪些消息中间件?
    【学习总结】Python transformers AutoTokenizer encode 出现的 101 和 102
    Swift 网络请求 Moya+RxSwift
    leetcode 10. 正则表达式匹配
    FTP文件传输服务
    matlab回归学习
    Spark Streaming 基本操作
    【代码随想录】算法训练营 第十四天 第六章 二叉树 Part 1
  • 原文地址:https://blog.csdn.net/weixin_65777087/article/details/134494273