File Name: zuoye02.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#检测脚本是否存在且非空,是否可执行
file1=[ -s /server/scripts/lamp.sh ]&& echo ture||echo fluse
file2=[ -s /server/scripts/lnmp.sh ]&& echo ture||echo fluse
exec1=[ -x /server/scripts/lamp.sh ]&& echo ture||echo fluse
exec2=[ -x /server/scripts/lnmp.sh ]&& echo ture||echo fluse
case “KaTeX parse error: Undefined control sequence: \0 at position 38: … echo -e "\̲0̲33[32mlamp.sh脚本…exec1” in
ture)
echo -e “\033[32mlamp.sh脚本文件可以执行\033[0m”
;;
*)
echo -e “\033[31mlamp.sh脚本文件不可执行!!!\033[0m”
esac
case “KaTeX parse error: Undefined control sequence: \0 at position 38: … echo -e "\̲0̲33[32mlnmp.sh脚本…exec2” in
ture)
echo -e “\033[32mlnmp.sh脚本文件可以执行\033[0m”
;;
*)
echo -e “\033[31mlnmp.sh脚本文件不可执行!!!\033[0m”
esac
#打印菜单,按照选择项一键安装不同的web服务
cat << EOF
echo -e "\033[35m (1).[install lamp]\033[0m"
echo -e "\033[36m (2).[install lnmp]\033[0m"
echo -e "\033[33m (3).[exit]\033[0m"
EOF
read -p “please input the num you want:” num
#安装lamp与lnmp环境
case “$num” in
1)
echo start installing LAMP
sleep 1
/server/scripts/lamp.sh
exit
;;
2)
echo start installing LNMP
sleep 1
/server/scripts/lnmp.sh
exit
;;
3)
echo 即将退出脚本…
sleep 1
exit
;;
*)
echo Input Error输入不识别!,启动自毁程序…
sleep 2
echo 再见人类…
sleep 2
exit
esac
>
> ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS01MjExZDkzNjgzOGQxNmM5LnBuZw)
>
>
>
#if语句
[root@shell day04]# cat /server/scripts/day03/zuoye02.sh
#!/bin/bash
##############################################################
File Name: zuoye02.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#检测脚本是否存在且非空,是否可执行
file1=[ -s /server/scripts/lamp.sh ]&& echo ture||echo fluse
file2=[ -s /server/scripts/lnmp.sh ]&& echo ture||echo fluse
exec1=[ -x /server/scripts/lamp.sh ]&& echo ture||echo fluse
exec2=[ -x /server/scripts/lnmp.sh ]&& echo ture||echo fluse
if [ $file1 = “ture” ];then
echo “lamp.sh脚本文件存在且非空”
else
echo “lamp.sh脚本文件不存在或是一个空文件!!!”
fi
if [ $exec1 = “ture” ];then
echo lamp.sh脚本文件可以执行
else
echo lamp.sh脚本文件不可执行!!!
fi
if [ $file2 = “ture” ];then
echo lnmp.sh脚本文件存在且非空
else
echo lnmp.sh脚本文件不存在或是一个空文件!!!
fi
if [ $exec2 = “ture” ];then
echo lnmp.sh脚本文件可以执行
else
echo lnmp.sh脚本文件不可执行!!!
exit
fi
#打印菜单,按照选择项一键安装不同的web服务
cat << EOF
echo -e "\033[35m (1).[install lamp]\033[0m"
echo -e "\033[36m (2).[install lnmp]\033[0m"
echo -e "\033[34m (3).[exit]\033[0m"
EOF
read -p “please input the num you want:” num
#安装lamp环境
if [ $num = “1” ];then
echo start installing LAMP
sleep 1
/server/scripts/lamp.sh
exit
elif [ $num = “2” ];then
echo start installing LNMP
sleep 1
/server/scripts/lnmp.sh
exit
elif [ $num = “3” ];then
echo 即将退出脚本…
sleep 1
exit
elif [ $num != “{1…3}” ];then
echo Input Error输入不识别!,启动自毁程序…
sleep 2
echo 再见人类…
sleep 2
exit
fi
###### 6.3 将Nginx服务改为case方式+函数方式
>
> **3、 将Nginx服务管理脚本改为case方式+函数方式,并通过systemctl进行控制启动停止**
>
>
>
先将nginx编译好
yum install -y gcc-c++ pcre-devel zlib-devel #下载依赖
tar xf nginx-1.17.1.tar #解压到当前目录
cd nginx-1.17.1/ #切换到解压后的目录下
./configure --prefix=/usr/local/nginx #路径随意
make && make install
[root@shell ~]# ll /usr/local/nginx/sbin/nginx
-rwxr-xr-x 1 root root 3830336 Jul 18 09:19 /usr/local/nginx/sbin/nginx
[root@shell ~]# cd /etc/init.d/
[root@shell init.d]# touch nginx
[root@shell init.d]# chmod +x nginx
>
> #if方式+函数方式
>
>
>
[root@shell init.d]# vim nginx #
#!/bin/bash
##############################################################
File Name: nginx.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
if [ “$1” = “start” ];then
nginx
echo “nginx服务启动成功”
fi
if [ “$1” = “stop” ];then
#查看当前nginx进程是否存在,非0则存在
if [ ss -lntup|grep nginx|wc -l
-eq 0 ];then
echo “nginx处于关闭状态”
else
pkill nginx
fi
fi
if [ “$1” = “restart” ];then
#先关闭
if [ ss -lntup|grep nginx|wc -l
-eq 0 ];then
echo “nginx处于关闭状态”
else
pkill nginx
sleep 1
fi
nginx
echo “nginx服务重启成功”
fi
>
> #case方式+函数方式
>
>
>
#为nginx添加systemd启动文件
[root@shell init.d]# cd /usr/lib/systemd/system
[root@shell system]# cat nginx_oldboy.service
[Unit]
Description=nginx service
After=nginx_oldboy.target
[Service]
Type=forking
ExecStart=/etc/init.d/nginx start
ExecReload=/etc/init.d/nginx restart
ExecStop=/etc/init.d/nginx stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#检查是否可以启动关闭重启
[root@shell system]# ss -lntup|grep nginx
[root@shell system]# systemctl start nginx_oldboy.service #启动
[root@shell system]# ss -lntup|grep nginx
tcp LISTEN 0 128 *:80 : users:((“nginx”,pid=15894,fd=6),(nginx",pid=15893,fd=6))
[root@shell system]# systemctl stop nginx_oldboy.service #关闭
[root@shell system]# ss -lntup|grep nginx
[root@shell system]# systemctl restart nginx_oldboy.service #重启
[root@shell system]# ss -lntup|grep nginx
tcp LISTEN 0 128 *:80 *😗 users:((“nginx”,pid=15926,fd=6),(nginx",pid=15925,fd=6))
###### 6.4 使用case选择水果,打印水果名及其颜色
>
> 1、 使用case选择水果,并打印水果名及其颜色
>
>
>
#给到的要求与条件
1.apple
2.pear
3.banana
4.blueberry
其中,颜色表达式分别为
31m 红色
32m 绿色
33m 黄色
34m 蓝色
使用方式为
[root@oldboy-node101 ~]# echo -e “\E[1;31m我是红色 \E[0m”
我是红色
[root@oldboy-node101 ~]# echo -e “\E[1;32m我是绿色 \E[0m”
我是绿色
[root@oldboy-node101 ~]# echo -e “\E[1;33m我是黄色 \E[0m”
我是黄色
[root@oldboy-node101 ~]# echo -e “\E[1;34m我是蓝色 \E[0m”
我是蓝色
1)打印菜单
2)使用read,显示一句话“选择你喜欢的水果”
3)使用case判断数字是【1|2|3|4】
4)如果都不符合,报错退出
#### 7.while循环
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS1lODkzMGJmNzJiNzVkMzY3LnBuZw)
##### 7.1 while语法
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS00ZjgzYTUwYmVkZmNhMzMxLnBuZw)
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS05NzExNGQwYjZkOTk0YmJlLnBuZw)
##### 7.2 while按行读入文件
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS1kOGRkNTRjNjc0YmZkNDNhLnBuZw)
>
> **练习**
> 处于学习阶段,欢迎补充更完美的答案
>
>
> 1.while循环从1加到100,然后再额外使用两种方式计算
>
>
> 2.while循环读入数据,计算文件内的年龄平均值
>
>
> 3.将第6章的练习1,改为死循环的形式。菜单中加入选项exit,只有输入exit才能退出
>
>
>
>
> 1.while循环从1加到100,然后再额外使用两种方式计算
>
>
>
[root@shell day04]# cat while3.sh
#!/bin/bash
##############################################################
File Name: while3.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#while循环从1加到100,然后再额外使用两种方式计算
a=0
while [ $a -lt 100 ];do
let a++
echo $a
done
[root@shell day04]# sh while3.sh
1
2
3
4
…
100
#第二种
[root@shell day04]# echo “(1+100)*100/2”|bc
5050
>
> 2.while循环读入数据,计算文件内的年龄平均值
>
>
>
[root@shell day04]# cat age.txt
jiaojiao 20
yingqian 20
jiangyuan 25
xiaolu 30
xuxu 18
dingsheng 38
lili 5
[root@shell day04]# cat while4.sh
#!/bin/bash
##############################################################
File Name: while3.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#计算平均年龄,文件是/server/scripts/age.txt
#a=echo cat age.txt|awk '{print $2}'
sum=0
count=0
while read line;do
age=echo $line|awk '{print $2}'
let sum=
s
u
m
+
{sum}+
sum+{age}
let count++
done <
1
e
c
h
o
"
1 echo "
1echo"sum/$count"|bc
[root@shell day04]# sh while4.sh age.txt
22
>
> 3.将第6章的练习1,改为死循环的形式。菜单中加入选项exit,只有输入exit才能退出
>
>
>
[root@shell day04]# cat caidan.sh
#!/bin/bash
#打印菜单,按照选择项选择你喜欢的人物
prefix="I guess you like "
#菜单
while true ;do
cat << EOF
echo -e "\033[32m 1.棋王\033[0m"
echo -e "\033[33m 2.女神\033[0m"
echo -e "\033[34m 3.娘炮\033[0m"
echo -e "\033[35m 4.铁人\033[0m"
echo -e "\033[36m 5.退出\033[0m"
EOF
read -p "please input the num you like: " num
if [
n
u
m
=
"
1
"
]
;
t
h
e
n
e
c
h
o
"
num = "1" ];then echo "
num="1"];thenecho"prefix"黑嘉嘉
elif [
n
u
m
=
"
2
"
]
;
t
h
e
n
e
c
h
o
"
num = "2" ];then echo "
num="2"];thenecho"prefix"高圆圆
elif [
n
u
m
=
"
3
"
]
;
t
h
e
n
e
c
h
o
"
num = "3" ];then echo "
num="3"];thenecho"prefix"打篮球的那个蔡徐坤? Are You OK??
elif [
n
u
m
=
"
4
"
]
;
t
h
e
n
e
c
h
o
"
num = "4" ];then echo "
num="4"];thenecho"prefix"鹿晗…
elif [ $num = “5” ];then
echo “即将退出…”
sleep 1
exit
else
echo “输入错误!请重新输入”
fi
done
>
> ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS0zMjk4NDQ2ZTcxNzlhNGMxLnBuZw)
>
>
>
---
#### 7.3 练习
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS03ZDVhMzAwODNiMWI5MWQ4LnBuZw)
###### 1、猜数字游戏:
>
> 首先让系统随机生成一个数字,给这个数字定一个范围,让用户输入猜的数字,对输入的数字进行判断,如果不符合要求,就给与高或低的提示,猜对后给出猜对用的次数,请用while语句实现。
>
>
>
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjk1MjE0OS05YzdlZTRmNzk1YmZiNzBmLnBuZw)
echo
(
(
((
((RANDOM%99+1)) 0到100随机数字
[root@shell lianxi]# cat 2.1.sh
#!/bin/bash
##############################################################
File Name: 2.1.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#定义输入的次数
total=0
#定义字符集
export LANG=“zh_CH.UTF-8”
#生成0到100随机数字并清除
num=
(
(
R
A
N
D
O
M
e
c
h
o
"
生成随机数为
((RANDOM%101)) echo "生成随机数为
((RANDOMecho"生成随机数为num"
echo “============================”
usleep 100000
clear
echo “客官~猜一猜我奶奶多大年龄了?
请输入[1-100]的整数”
#定义检测输入值的函数age
age(){
read -p “客官~请输入你猜的年龄: " num1
#判断是否为整数
expr $num1 + 1 &>/dev/null
if [ $? -ne 0 ];then
echo “(⊙o⊙)…输入格式错了呢~客官”
age
fi
}
#定义输入值反馈函数
point(){
#调用total累计客官输入次数
((total++))
if [ $num1 -eq
n
u
m
]
;
t
h
e
n
e
c
h
o
"
客官 您真是个天才
!
恭喜您获得奶奶一车
"
e
c
h
o
"
我奶奶今年
num ];then echo "客官~您真是个天才!恭喜您获得奶奶一车" echo "我奶奶今年
num];thenecho"客官 您真是个天才!恭喜您获得奶奶一车"echo"我奶奶今年{num}岁”
echo 一共猜了${total}次
exit 0
elif [ $num1 -gt $num ];then
echo “客官~我奶奶老年轻了!您猜的太大了”
echo "再来一次!加油~: "
age
elif [ $num1 -lt $num ];then
echo “客官~我奶奶比我大!您猜的太小了”
echo “再来一次!加油~”
age
fi
}
#定义循环此脚本函数,猜对年龄后退出,猜错则从point函数中调用age函数继续猜
main(){
age
while true
do
point
done
}
main
[root@shell lianxi]# sh 2.1.sh
生成随机数为58
客官~猜一猜我奶奶多大年龄了?
请输入[1-100]的整数
客官~请输入你猜的年龄: 50
客官~我奶奶比我大!您猜的太小了
再来一次!加油~
客官~请输入你猜的年龄: 80
客官~我奶奶老年轻了!您猜的太大了
再来一次!加油~
客官~请输入你猜的年龄: 60
客官~我奶奶老年轻了!您猜的太大了
再来一次!加油~
客官~请输入你猜的年龄: 55
客官~我奶奶比我大!您猜的太小了
再来一次!加油~
客官~请输入你猜的年龄: 57
客官~我奶奶比我大!您猜的太小了
再来一次!加油~
客官~请输入你猜的年龄: 58
客官~您真是个天才!恭喜您获得奶奶一车
我奶奶今年58岁
一共猜了6次
###### 2.使用if和while实现菜单系统信息案例:
>
> h 显示命令帮助 sleep 2刷新菜单
>
>
> f 显示登录信息 who
>
>
> d 显示磁盘挂载 fdisk -l
>
>
> m 查看内存使用 free -h
>
>
> u 查看系统负载 uptime
>
>
> q 退出程序
>
>
>
[root@shell lianxi]# cat menu.sh
#!/bin/bash
##############################################################
File Name: menu.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
export LANG=“zh_CH.UTF-8”
user=who|wc -l
free1=free -h|awk 'NR==2{print $3/$2\*100}'
free2=${free1/.*/}
uptime=uptime|awk '{print $NF}'
while true ;do
cat << EOF
echo -e "\033[32m [h].显示命令帮助\033[0m"
echo -e "\033[32m [f].显示登录信息\033[0m"
echo -e "\033[32m [d].显示磁盘挂载\033[0m"
echo -e "\033[32m [m].查看内存使用\033[0m"
echo -e "\033[32m [u].查看系统负载\033[0m"
echo -e "\033[35m [q].退出程序\033[0m"
EOF
read -p "请输入要查询的信息编号: " NUM
if [ “KaTeX parse error: Undefined control sequence: \0 at position 54: …r echo -e "\̲0̲33[32m\n\t\t\t\…NUM” = “f” ];then
echo -e “\033[32m\n\t\t\t\t当前在登录[KaTeX parse error: Undefined control sequence: \0 at position 8: user]用户\̲0̲33[0m" who …NUM” = “d” ];then
echo -e “\033[32m\n\t\t\t\t[当前磁盘挂载情况!]\033[0m”
fdisk -l
elif [ “KaTeX parse error: Undefined control sequence: \0 at position 32: …n echo -e "\̲0̲33[32m\n\t\t\t\…free2%]\033[0m”
free -h
elif [ “KaTeX parse error: Undefined control sequence: \0 at position 32: …n echo -e "\̲0̲33[32m\n\t\t\t\…uptime]\033[0m”
uptime
elif [ “$NUM” = “q” ];then
echo “bye~客官”
exit 0
else
echo -e “\033[31m\n\t\t\t\t输出格式不对!请重新输入编号\033[0m”
fi
done
>
> **实现效果**
>
>
>
[root@shell lianxi]# sh menu.sh
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: h
[刷新成功!]
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: f
当前在登录[3]用户
root tty1 Jul 18 15:17
root pts/0 Jul 18 08:34 (10.0.0.1)
root pts/1 Jul 18 08:49 (10.0.0.1)
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: d
[当前磁盘挂载情况!]
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e3d5f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 2508799 1048576 82 Linux swap / Solaris
/dev/sda3 2508800 41943039 19717120 83 Linux
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: m
[当前内存已用11%]
total used free shared buff/cache available
Mem: 972M 107M 400M 7.7M 464M 688M
Swap: 1.0G 0B 1.0G
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: u
[15分钟内系统负载为0.05]
20:14:06 up 11:42, 3 users, load average: 0.00, 0.01, 0.05
[h].显示命令帮助
[f].显示登录信息
[d].显示磁盘挂载
[m].查看内存使用
[u].查看系统负载
[q].退出程序
请输入要查询的信息编号: q
bye~客官
[root@shell lianxi]#
###### 3、while循环批量创建10个用户,并通过传参方式传入密码123
>
> 创建用户:
>
>
> useradd test1
>
>
> 添加密码:
>
>
> echo 123 | passwd --stdin test1
>
>
> 批量创建
>
>
> seq 1 10
>
>
>
[root@shell lianxi]# cat user.sh
#!/bin/bash
##############################################################
File Name: user.sh
Version: V1.0
Author: lcx
Organization: www.oldboyedu.com
##############################################################
#while循环批量创建10个用户,并通过传参方式传入密码123
i=0
user=0
read -p "请为批量创建的用户添加密码: " passwd
#while [ $user -lt 10 ] ;do
while ((i<=10))
do
((user=sum+i))
((i++))
done
seq -w $user|sed -r “s#(.*)#useradd test\1;echo $passwd|passwd --stdin test&#g”|bash
[root@shell lianxi]# sh user.sh
请为批量创建的用户添加密码: 123A
useradd: user ‘test01’ already exists
Changing password for user test01.
passwd: all authentication tokens updated successfully.
useradd: user ‘test02’ already exists
Changing password for user test02.
passwd: all authentication tokens updated successfully.
…
…
[root@shell lianxi]# tail /etc/passwd
test01❌1002:1002::/home/test01:/bin/bash
test02❌1003:1003::/home/test02:/bin/bash
test03❌1004:1004::/home/test03:/bin/bash
test04❌1005:1005::/home/test04:/bin/bash
test05❌1006:1006::/home/test05:/bin/bash
test06❌1007:1007::/home/test06:/bin/bash
test07❌1008:1008::/home/test07:/bin/bash
test08❌1009:1009::/home/test08:/bin/bash
test09❌1010:1010::/home/test09:/bin/bash
test10❌1011:1011::/home/test10:/bin/bash
###### 4. 用case和while循环批量删除用户[y|n]
#暂时用while加if写出来了,此题没有思路
[root@shell lianxi]# cat userdel.sh
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
面试题**
- 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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!