中级运维工程师面试题汇总(含答案)

一、linux

1. linux系统启动流程

  • 第一步:开机自检,加载BIOS
  • 第二步:读取MBR
  • 第三步:Boot Loader grub引导菜单
  • 第四步:加载kernel内核
  • 第五步:init进程依据inittab文件夹来设定运行级别
  • 第六步:init进程执行rc.sysinit
  • 第七步:启动内核模块
  • 第八步:执行不同运行级别的脚本程序
  • 第九步:执行/etc/rc.d/rc.lo

2. linux文件类型

文件属性 文件类型
- 常规文件,即file
d 目录文件
b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l symbolic link 即符号链接文件,又称软链接文件
p pipe 即命名管道文件
s socket 即套接字文件,用于实现两个进程进行通信

3. centos6和7怎么将源码安装的程序添加到开机自启动?

  • 通用方法:编辑/etc/rc.d/rc.local文件,在文件末尾添加启动服务命令
  • centos6:①进入到/etc/rc.d/init.d目录下,②新建一个服务启动脚本,脚本中指定chkconfig参数,③添加执行权限,④执行chkconfig --add 添加服务自启动
  • centos7:①进入到/usr/lib/systemd/system目录下,②新建自定义服务文件,文件中包含[Unit] [Service] [Install]相关配置,然后添加下执行权限,③执行systemctl enable 服务名称

4. 简述lvm,如何给使用lvm的/分区扩容?

  • 功能:可以对磁盘进行动态管理。动态按需调整大小
  • 概念:

①PV - 物理卷:物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
②VG - 卷组:卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
③LV - 逻辑卷:逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

  • 给/分区扩容步骤:

①添加磁盘
②使用fdisk命令对新增加的磁盘进行分区
③分区完成后修改分区类型为lvm
④使用pvcreate创建物理卷
⑤使用vgextend命令将新增加的分区加入到根目录分区中
⑥使用lvextend命令进行扩容
⑦使用xfs_growfs调整卷分区大小

5. 为何du和df统计结果不一致?

  • 用户删除了大量的文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它。
  • 然而如果此时还有运行的进程持有这个已经被删除的文件句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改,df仍会统计这个被删除的文件。
  • 可通过 lsof命令查询处于deleted状态的文件,被删除的文件在系统中被标记为deleted。如果系统有大量deleted状态的文件,会导致du和df统计结果不一致。

6. 如何升级内核?

  • 方法一
# 添加第三方yum源进行下载安装。
Centos 6 YUM源:http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Centos 7 YUM源:http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 先导入elrepo的key,然后安装elrepo的yum源:
rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 查看可用的内核相关包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 
yum -y --enablerepo=elrepo-kernel install

1
2
3
4
5
6
7
8
9

  • 方法二
# 通过下载kernel image的rpm包进行安装。
官方 Centos 6: http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
官方 Centos 7: http://elrepo.org/linux/kernel/el7/x86_64/RPMS/
# 获取下载链接进行下载安装即可
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-4.4.185-1.el7.elrepo.x86_64.rp
# 查看默认启动顺序
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.2.2-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-e34fb4f1527b4f2d9fc75b77c016b6e7) 7 (Core)
由上面可以看出新内核(4.12.4)目前位置在0,原来的内核(3.10.0)目前位置在1
# 设置默认启动
[root@localhost ~]# grub2-set-default 0  // 0代表当前第一行,也就是4.12.4版本
# 重启验证

7. nginx日志访问量前十的ip怎么统计?

awk '{array[$1]++}END{for (ip in array)print ip,array[ip]}' access.log |sort -k2 -rn|head

8. 如何删除/var/log/下.log结尾的30天前的日志?

find /var/log/ -type f -name .*.log -mtime 30|xargs rm -f

9. ansible有哪些模块?功能是什么?

模块 功能
copy 拷贝文件到被控端
cron 定时任务
fetch 拷贝被控端文件到本地
file 文件模块
group 用户组模块
user 用户模块
hostname 主机名模块
script 脚本模块
service 服务启动模块
command 远程执行命令模块
shell 远程执行命令模块,command高级用法
yum 安装包组模块
<think> 首先,用户的问题是:“我想查找初级运维面试题”,这是在查询初级运维岗位的面试题。系统指令要求我参考提供的引用内容,这些引用来自之前的消息。 回顾引用内容: - 引用[1]:是关于运维面试题的文章,提到“2024年9月最新运维高频面试题汇总(1)”,但它是个标题,没有具体题目内容。它宣传了一个群组。 - 引用[2]:是“云计算运维工程师面试题(二)”,列出了11个具体问题,涉及云计算、弹性伸缩、高可用性、安全等。这些不是专门针对初级的,但可能涵盖。 - 引用[3]:是“初级运维工程师面试题”,描述了一个场景:查杀病毒的过程,提到了一个可疑进程。这不是直接的面试题列表,而是一个叙述性的例子。 用户明确说“我想查找初级运维面试题”,所以我需要提供相关的面试题。系统指令说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。”用户在之前的上下文中提到“初级运维岗位面试题”,所以我应该聚焦于此。 我的回答需要结构化清晰,帮助用户逐步解决问题。我需要基于引用生成相关内容,但引用[3]是唯一的直接提到“初级”的,尽管它不是完整的列表。引用[2]有云计算面试题,可能适用于初级岗位。 系统指令还要求: - 所有行内数学表达式必须使用$...$格式,但这个问题不涉及数学,所以可能不需要。 - 独立公式用$$...$$,但这里不适用。 - LaTeX语法正确:再次,不涉及数学。 - 使用中文回答:已在中文中。 - 生成相关问题:指令说“生成相关问题”,所以我应该在回答末尾添加相关问题部分。 - 添加引用标识:在回答中引用的段落末尾自然地添加[^n]。 从引用中提取内容: - 引用[3]提到了一个初级运维面试题的例子:关于查杀病毒的场景。用户可能想知道常见的面试题。 - 引用[2]有云计算相关的问题,可能部分适用于初级。 - 引用[1]没有具体题目。 我应该创建一个初级运维面试题的列表,基于一般知识和引用内容。既然引用[3]描述了一个问题,我可以将其作为一个例子。 结构化回答: 1. **逐步回答**:先理解需求,然后提供面试题列表。 2. **真实可靠**:提供常见的初级运维面试题。 3. **生成相关问题**:在末尾添加相关问题部分。 4. **引用标识**:如果我引用引用[3]的内容,在末尾加[^3]。 可能的面试题列表(初级运维): - Linux基础命令 - 文件系统管理 - 网络基础(如IP地址、子网掩码) - 故障排查(如服务器down机) - 安全(如病毒查杀) - 脚本编写(如Bash脚本) - 监控工具 - 云计算基础(如果涉及) 基于引用[3],我有一个具体的例子:查杀病毒的过程。描述为:“查杀病毒最好断掉外网访问...看到一个进程可疑”。 我可以将其作为一个面试题例子。 最终回答结构: - 介绍:确认用户需求。 - 提供初级运维面试题列表:基于引用和一般知识。 - 包括引用[3]的例子。 - 末尾添加相关问题。 相关问题想法(基于指令):例如, - 如何准备初级运维面试? - 初级运维常见技能要求? - 云运维面试题的区别? 确保引用:当描述引用[3]的内容时,加[^3]。 回答在中文中。 </think> ### 初级运维面试题查找指南 您好!根据您的查询“我想查找初级运维面试题”,我会基于您提供的引用内容(特别是引用[3],因为它直接提到“初级运维工程师面试题”)和常见运维知识,为您整理一份初级运维岗位的常见面试题列表。初级运维岗位通常聚焦于基础技能,如Linux命令、系统故障排查、网络基础和安全实践。以下是基于真实面试场景的典型题目,我会逐步解释每个问题的背景和回答要点,确保内容可靠(参考了行业标准和引用内容)。 #### 初级运维工程师常见面试题列表 以下是针对初级运维岗位的面试题,这些问题涵盖了基础知识、实操场景和故障处理。每个题目都附带简要解释和回答方向,帮助您准备。 1. **Linux基础命令相关问题** - **示例题目**:请列出5个常用的Linux文件管理命令,并说明其用途(如`ls`, `cd`, `cp`)。 - **回答要点**:初级运维人员需掌握基本命令,涉及文件和目录操作。例如,`ls`用于列出目录内容,`cp`用于复制文件。这反映了日常系统维护的核心技能。 2. **系统故障排查与监控** - **示例题目**:如果服务器突然无法访问,您会如何一步步排查问题? - **回答要点**:从网络层面(检查IP、ping测试)到系统层面(查看日志如`/var/log/syslog`),再到服务状态(如使用`systemctl status`)。这强调实战能力和逻辑思考。 3. **安全与病毒查杀**(直接参考引用[3]的例子) - **示例题目**:在发现服务器异常进程时(如可疑病毒),您会如何隔离和清除病毒? - **回答要点**:基于引用[3]的场景,最佳实践包括: - 断掉外网访问,防止病毒扩散; - 通过内网远程登录服务器; - 使用`ps axu`命令查找可疑进程(如非系统用户或异常行为); - 终止进程并删除相关文件。 这个例子展示了初级运维中常见的病毒查杀流程,强调了隔离环境和工具使用的重要性[^3]。 4. **网络基础问题** - **示例题目**:解释IP地址、子网掩码和默认网关的作用,并举例说明如何配置静态IP。 - **回答要点**:涉及网络配置基础,需理解TCP/IP协议栈。例如,子网掩码用于划分网络段,静态IP配置通过编辑`/etc/network/interfaces`文件实现。 5. **脚本编写与自动化** - **示例题目**:编写一个简单的Bash脚本,自动备份指定目录到远程服务器。 - **回答要点**:脚本应包括`rsync`或`scp`命令,并处理错误日志。这考察初级运维的自动化能力,提高效率。 6. **云计算基础(参考引用[2]的初级相关部分)** - **示例题目**:什么是虚拟化技术?它在云计算中的作用是什么?(引用[2]的题目简化) - **回答要点**:虚拟化允许一台物理机运行多个虚拟机,提高资源利用率。在云计算中,它支持弹性伸缩和资源隔离。虽然是中级内容,但初级岗位可能涉及基础概念[^2]。 7. **日志分析与问题诊断** - **示例题目**:查看系统日志发现大量错误信息,您会如何优先处理? - **回答要点**:使用`grep`或`tail -f`命令过滤日志,识别关键错误(如磁盘满或服务崩溃),并根据严重程度修复。 #### 准备建议 - **资源推荐**:您可以从引用[1]提到的“[运维面试]2024年9月最新运维高频面试题汇总”文章入手(虽然具体内容未提供,但类似资源在技术社区如GitHub或极客时间可找到),结合引用[2]的云计算问题作为扩展学习。 - **注意事项**:初级面试题偏重实操,建议多练习虚拟机环境模拟故障。如果您有具体方向(如云计算或安全),我可以进一步细化。 希望这个列表对您有帮助!如果您需要更详细的答案或示例代码(如Bash脚本),请随时说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值