为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
第1章 硬件与系统
1.1简述centos7常见运行级别
Centos 6 | Centos 7 | |
---|---|---|
0 | 关机 | 关机 poweroff.target |
1 | 单用户 | 救援模式 rescue.target |
2 | 没有网络的多用户 | 多用户模式 multi-user.target |
3 | 完全多用户 | 多用户模式 multi-user.target |
4 | 待开发 保留 | 多用户模式 multi-user.target |
5 | 图形界面模式 | 图形界面模式 graphical.target |
6 | 重启 | 重启 reboot.target |
1.2 简述centos7开机启动流程
Centos6 | Centos7 |
---|---|
1.开机 | 1.开机 |
2.bios开机自检 | 2.bios开机自检 |
3.MBR引导 | 3.MBR引导 |
4.GRUB菜单 选择不同内核 CentOS6进入单用户模式 | 4.GRUB菜单 选择不同内核 CentOS6进入单用户模式 |
5.加载内核 /boot加载到内存 | 5.加载内核 /boot加载到内存 |
6.运行INIT进程 CentOS6第一个进程 | 6.运行systemd进程 读取第一个运行程序 ps -ef |
7.读取/etc/inittab运行级别 | 7.读取运行级别 /etc/systemd/system/ |
8.串行 读取/etc/rc.sysinit 初始化系统 设置主机名 ip地址 | 8.并行 初始化系统/etc/systemd/system |
9.根据运行级别启动相应脚本软件(串行) | 9.启动脚本软件服务 |
10.启动minggetty登录界面 运行login | 10.启动getty登录界面 运行login |
1.3 简述常见Raid级别及应用场景
Raid级别 | 需要几块盘 | 存取速度 | 容量 | 冗余 | 安全性 | 使用场景 | 举例 |
---|---|---|---|---|---|---|---|
Raid0 | 至少1快 | 读写都快 | 所有硬盘容量的总和 | 0 | 差,损失1块全不能用 | 不要安全只求速度 | 数据块从库,存储从库 |
Raid1 | 只能2块 | 写入慢,读取正ok | 总量的一半 | 100% | 好,坏1块还可以使用,有备份 | 只追求安全性,对速度无要求 | 系统盘,监控服务器 |
Raid5 | 最少3块 | 写入慢,读取正常 | 损失一块盘容量 | 有1块盘 | 正常,最多坏1块 | 对速度安全,对速度要求不高 | 普遍数据库,存储访问量不高 |
Raid10 | 最少4块 | 读写都快 | 总量的一半 | 可以损坏一半 | 好,坏1块还可以使用,有备份 | 安全和性能都要 | 高并发或高访问量,数据库主库 存储 |
1.4 简述企业磁盘常见分区规则
企业磁盘分区规则 | /boot引导分区 | swap交换分区 | / 分区 | /data分区 |
---|---|---|---|---|
通常情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 剩余多少给多少 | |
数据重要的情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 20~200G | 余下全部分给/data |
大网站数据重要的情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 20~200G | 剩余保留,谁用谁分 |
1.5 什么是inode什么是block
含义:
inode (index node)
1.索引节点inode号码
2.inode空间 存放文件属性信息(大小 所有者 权限 文件类型 硬连接数 时间)和block的位置,
但是文件名没有存放在这里
block 数据块
block 用来存放文件的内容
特点:
inode: (ls -i查看目录inode号)
1.256字节 (磁盘分区大于500MB)
2.inode在同一个分区(文件系统)中是唯一的
3.创建1个非空的文件需要占用1个inode和至少一个block
block:
1.block大小是4K
2.文件比较小的,剩余的将无法使用
3.文件比较大的,占用多个block
查看整体情况:
block 一共有多 还剩多少(查看磁盘空间使用情况)
df -h 以人类可读的形式
inode一共有多少 还剩多少
df -i inode剩余
1.6 /etc/fstab含义及每一列含义
`开机自动挂载设备的配置文件
UUID=13d82528-a2cc-484e-b468-9dfc25c36f5c swap swap defaults 0 0
第一列.UUID或设备名称
第二列.挂载点(入口)
第三列.文件系统类型
第四列.挂载参数
第五列.是否备份
第六列.是否开机自启动检查`
1.7 简述软硬连接的区别
如何创建:
硬链接 ln
软链接 ln -s
含义:
硬链接ln:
在同一分区中inode号码相同的,节点相同的文件,超市前后门(多个入口)
软链接:
相当于快捷方式,存放存放源文件的位置,inode节点号与源文件不同
特点:
1.不能对目录创建硬链接,但可以创建软链接,对目录的软链接会被经常用到
2.软链接可以跨文件系统,硬链接不可以跨文件系统
怎么没的 (源文件 软链接 硬链接 与删除)
1.删除软链接文件,对源文件及硬链接文件没有影响
2.删除文件的硬链接文件,对源文及软链接文件没有影响
3.删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(闪烁)
4.同时删除源文及硬链接文件,整个文件才会被真正的删除
1.8 运维的职责
运维核心职责 | 运维主要工作内容 |
---|---|
※三个核心 | 数据不丢、7*24不宕机、提升用户体验 |
1.监控: | 查看网站监控,网站状态、流量(带宽) |
根据监控提示(邮件 微信 电话)进行处理 | |
2.备份: | 备份的内容(配置、数据、脚本、网站程序代码)检查备份是否能用 |
3.代码更新上线: | 进行代码上线,代码回滚 |
4.其他项目: | 根据需求做项目(备份、优化、监控) |
5.额外要求: | 一些生活琐事 |
1.9 说一说你公司的服务器配置
DELL的R730,2U的服务器,2路8核心
内存是128G 600G\*8的SAS磁盘 做的是raid5
1.10 简单阐述虚拟机上不了网的原因有哪些
ip add | 显示服务器的ip地址是否正确 |
---|---|
ping baidu.com | 检查虚拟机是否能上网 |
win+r services.msc服务 | 找到VMware的服务全部启动 |
虚拟机的VMnet8 网卡 | 设置为自动获得ip地址 |
检查是否关闭NetworkManager | systemctl disable NetworkManager |
检查虚拟网络编辑器 | NAT模式的子网ip与网关ip的修改 |
telnet +服务器ip +端口号 | 本地服务是否运行中 |
关闭防火墙 | systemctl disable firewalld |
关闭selinux | setenforce 0 重启生效 |
第2章文件目录
2.1简述一下文件的位置与名称
1 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
2 DNS配置文件 /etc/resolv.conf
3 系统日志 /var/log/messages
4 登录日志 /var/log/secure
5 系统环境变量 /etc/profile
6 本地域名解析文件 /etc/hosts
7 用户与密码信息文件 /etc/passwd /etc/shadow
8 开机自启文件 /etc/rc.local
9 开机自动挂载文件 /etc/fstab
10 用户组信息文件 /etc/group
2.2简述一下目录/文件的功能
/dev 设备配置文件
/etc/rc.local 开机自启动脚本
/etc/inittab 运行级别
/var/log/secure 用户登录日志
/mnt 临时挂载点
/var/log/cron 定时任务日志
/proc/loadavg 系统负载
/proc/cpuinfo cpu信息
第3章命令
3.1创建目录/oldboy/test
mkdir -p /oldboy/test
3.2在/oldboy/test/目录下创建file01.txt到file10.txt的10个文件
touch /oldboy/test/file{01..10}.txt
3.3查找/etc目录下以.txt结尾的,修改时间在7天前的,大于1k的文件复制到/tmp下(两种方法)
cp `find -type f mtime +7 -size +1k -name '\*.txt'` /tmp/
find -type f mtime +7 -size +1k -name '\*.txt|xargs -i cp {} /tmp/ \:
find -type f mtime +7 -size +1k -name '\*.txt|xargs cp -t /tmp/
3.4查找/etc目录下以.txt结尾的,修改时间在7天前的,大于1k的文件,打包压缩到/tmp下并且以时间命名(两种方法)
tar zcf /tmp/`date +%F`.tar.gz `find-- -type f mtime +7 -size +1k -name '\*.txt'`
find -type f mtime +7 -size +1k -name '\*.txt' -exec tar /tmp/`date +%F`.tar.gz {} +
find -type f mtime +7 -size +1k -name '\*.txt'|xargs tar zcf /tmp/`date +%F`.tar.gz
3.5将test.tar.gz解压到/root目录下
tar xf test.tar.gz -C /root/
3.6取出IP地址(三方法)
ip a s eth0|sed -nr '3s#^.\*t (.\*)/.\*$#\1#gp' #用sed
ip a s eth0|awk -F'[/ ]+' 'NR==3{print $3}' #用awk
ip a s eth0|sed -n '3p'|awk -F'[ /]+' '{print$3}' #sed+awk
ip a s eth0|egrep -o '[0-9.]{7,15}'|awk 'NR==1' #grep
3.7取出/tmp/file.txt文件的权限(如0644)(3种)
stat /tmp/file.txt |sed -rn '4s#^.\*: \((.\*)/-.\*#\1#gp'
stat /tmp/file.txt |awk -F'[/(]+' 'NR==4{print $2}'
stat /tmp/file.txt |sed -n '4p'|awk -F'[ (/]' '{print $3}'
stat /tmp/file.txt |sed -n '4p'|egrep -o '[0-9]{4}'
3.8将/etc/passwd的第一列与最后一列调换位置
awk -F: -vOFS=":" 'A=$1;$1=$NF;$NF=a{print $0}' /etc/passwd
3.9将/oldboy/file.txt文件中的所有oldboy替换成oldgirl,同时将000替换成666
sed -e 's#oldboy#oldgirl#g;s#000#666#g' /tmp/1.txt
awk '{gsub(/oldboy/,"oldgirl");gsub(/000/,"666");print $0}' /tmp/1.txt
3.10统计/etc/passwd文件中又几个“nologin”
awk '/nologin/{i++}END{print i}' /etc/passwd
**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**
**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/963ee38ba6702e3ac1242cb3380ee65b.png)
![img](https://img-blog.csdnimg.cn/img_convert/41eff05e99dd7451df7c86120658e9e3.png)
![img](https://img-blog.csdnimg.cn/img_convert/521323e184c3d1bc7eba52e077c3904c.png)
![img](https://img-blog.csdnimg.cn/img_convert/273cd2126f62cea346448c8f7c25ee4c.png)
![img](https://img-blog.csdnimg.cn/img_convert/8385bd3ae8e5f057ad384752cc4fd834.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
]
[外链图片转存中...(img-xkCYO2EU-1715489547523)]
[外链图片转存中...(img-Gmx1ewlv-1715489547523)]
[外链图片转存中...(img-svBBgClY-1715489547523)]
[外链图片转存中...(img-hMBy4xKP-1715489547524)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**