为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 开机显示系统信息
显示信息如下:
- 系统版本
- 系统内核
- 虚拟平台
- 主机名
- 网卡 ens33的地址
- 开机信息有没有报错,有的话输出到屏幕
当前系统版本是:CentOS Linux 7
当前系统内核是: Linux 3.10.0-1160.el7.x86_64
当前虚拟平台是:vmware
当前主机名是: localhost.localdomain
当前ip地址:192.168.80.129
#!/bin/bash
info(){
system="$(hostnamectl | grep System | awk '{print $3}')"
kernel\_release="$(hostnamectl | grep Kernel | awk -F : '{print $2}')"
Virtualization=$(hostnamectl | grep Virtualization | awk '{print $2}')
server\_name=$(hostname)
ipaddr=$(hostname -I)
echo "当前系统版本是:${system}"
echo "当前系统内核是:${kernel\_release}"
echo "当前虚拟平台是:${Virtualization}"
echo "当前主机名是:${server\_name}"
echo "当前ip地址:${ipaddr}"
}
checkerrror(){
error\_info=$(dmesg | grep error)
if [ -e ${error\_info} ]
then
echo "无错误日志!"
else
ehcho ${error\_info}
fi
}
info
checkerrror
- 关闭防火墙和selinux
#!/bin/bash
close\_firewalld(){
code=$(systemctl status firewalld)
if [ ${code} -eq 0 ]
then
systemctl stop firewalld
fi
}
close\_selinux(){
sed -i '/^SELINUX/s/=.\*/=disabled/' /etc/selinux/config
setenforce 0
}
close\_iptables(){
iptables -F
service iptables save
service iptables restart
}
close_firewalld
close_selinux
close_iptables
- 定时任务计划:归档备份
每天凌晨打包压缩/var/log/nginx目录下所有内容,存放在/tmp/nginx目录里
压缩文件命名规范:yymmdd_logs.tar.gz
该目录保存七天内容,shell脚本保存在/usr/bin下
#!bin/bash
date="$(date +%Y%m%d)"
dir='/tmp/nginx'
backupfile='yymmdd\_logs.tar.gz'
#查看/tmp/nginx是否存在,不存在则创建
checkbak(){
if [ ! -e ${dir} ]
then
mkdir ${dir}
fi
}
#压缩文件
backup(){
tar -zcvf ${dir}/${backupfile} /var/log/nginx/ > /dev/null 2>&1
echo "${backupfile} Compressed and packaged successfully !"
}
#清楚七天过期文件
cleanup(){
find ${dir} -type f -mtime +7 | xagrs rm -rf
if [ $? -eq 0 ]
then
echo "Cleaned up successfully!"
else
echo "data cleaning failed error, please pay attention in time"
fi
}
checkbak
backup
cleanup
- 自动创建用户账号(user1、user2、user3…)
#!/bin/bash
#检查用户是否存在,不存在则创建
checkuser(){
for i in $(seq 1 20)
do
id user${i} > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "user${i} 已存在!"
else
useradd user${i} && echo "user${i}" | passwd --stdin user${i} > /dev/null 2>&1
fi
done
}
checkuser
- 通过位置变量创建 Linux 系统账户及密码
$1 是执行脚本的第一个参数
$2 是执行脚本的第二个参数
#!/bin/bash
useradd "$1"
echo "$2" | passwd ‐‐stdin "$1"
- 批量删除用户
#!/bin/bash
#检查用户是否存在,存在则删除
checkuser(){
for i in $(seq 1 20)
do
id user${i} > /dev/null 2>&1
if [ $? -eq 0 ]
then
userdel -r user${i}
else
echo "user${i} 不存在!"
fi
done
}
checkuser
- 更新系统时间,并写入硬件时间里
- 查看是否安装ntpdate工具
- 创建上海时区文件的软链接
- 更新时间并写入到硬件时间里
#!/bin/bash
package="ntpdate"
info=$(rpm -q ${package})
check\_pkgs(){
if [ ! -e ${info} ]
then
echo "ntpdate已存在!"
else
echo "开始安装!"
yum install -y ${package} > /dev/null 2>&1
fi
}
modify\_time(){
echo "开始修改时间"
rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1 && hwclock -w
}
check_pkgs
modify_time
- 检查服务状态
检查某一服务是否正常运行,执行脚本的时候第一个参数为服务名
#!/bin/bash
result=$(pidof $1 | wc -l)
echo ${result}
if [ ${result} -eq 0 ]
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/7b482a10260ad4b0930bdf17685389fd.png)
本份面试集锦涵盖了
* **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密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**