为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
yum install -y man-pages
cp 指令🤔
cp 指令即拷贝指令,类似于 win 中的复制粘贴功能,比如进行文件拷贝,我将 new.txt 里面的内容拷到 new2.txt 里面:
cp 指令也可以进行指定路径的拷贝,如果在拷贝的时候,要拷贝的文件要在当前路径下,两个文件的名称不能一样。默认情况下,我们不允许拷贝目录,如果有硬性需要,就需要借助 -r 选项的递归拷贝。
mv 指令🤔
mv 也是重要指令,他的主要功能有两个,一是剪切功能,比如我想将一个文件剪切移动到该目录下另一个目录里面,也可以剪切目录。
mv 文件名 目录名
这里我将 dir 目录下的 new2.txt 移动到了新建的 dir2 目录下
二是重命名功能,我们可以利用如下格式
mv 原文件名 新文件名
在原来的位置进行原地重命名,同理也可以堆目录进行重命名。
mv 常用选项有 -f 和 -i,-f 我们说过是强制性命令直接进行覆盖,而 -i 是如果目标文件存在时,就会询问是否进行覆盖,默认参数是 -f。还是那句话,Linux 里面不要轻易删除或者覆盖一个文件,因为 Linux 并没有回收站。
cat 指令🤔
我们其实一开始就使用了这个指令了,他的作用就是打印文件内容,比较适合查看短文本和代码,他也是可以带参数的:
-n :由 1 开始对所有输出的行数编号。
-b :和 -n 相似,只不过对于空白行不编号。
-s :当遇到有连续两行以上的空白行,就代换为一行的空白行。
cat 后面在不加文件名的时候,默认会从键盘进行标准输入与输出。
既然他时候短文本,那长文本咋办呢?他其实是可以展现出来的,但不会像在 vim 或者 nano 编辑器里面一样从开头供你随意查看,但是 cat 出来的第一眼永远是尾巴上的那几行文本,结论就是 cat 并不适合长文本。
more/less 指令🤔
他俩的作用是对于文本的显示,more 是进行行数的升序呈现,一个 100 行的文本,先出现在眼前的是开头开始的几行,而 less 是降序,从尾巴开始显示,键盘上下键支持文本页面上下翻。
more(less) 文件名
那么问题来了,我们为什么会去使用这两个命令呢?其主要用途就是进行查看日志。
输出重定向🤔
echo “hello world” > new.txt
这句代码的意思就是将 “hello world” 写入 new.txt ,这里的 > 就是输出重定向,就是指本来应该写入到显示器的内容把他写入到文件中 ,重点在于他会清空原来文件的内容,进行重新写入,这是如果想要不清空原来文件内容,就使用双大于符号,>> 被称为追加重定向:
echo “hello world” >> new.txt
head/tail 指令🤔
head,tail 是分别查看头,尾开始的正数 n 行和倒数 n 行的指令
head -num 文件名
tail -num 文件名
那如果我想要取中间的区间怎么办呢?可以用临时文件+ head 先取出右区间范围,再使用 tail 取到左区间来取出这个区间,当然这样是比较麻烦的,我们还有更聪明的方法——管道。
管道🎉
计算机世界里面的资源就是数据,就相当于世界的是由一样,这个管道和现实世界是一样的,有人去放入数据有人去拿出数据,他就是一个传输数据资源的载体
管道是一种单向通信的方式,一般用于进程间通信,在零拷贝时也会用到管道。管道本质上是一个文件,一个进程读,一个进程写。但是管道本身不占用磁盘或者其他外部存储的空间。在Linux上它占用内存空间。所以管道就是一个操作方式为文件的内存缓冲区。也正是因为管道是内存中的,所以它比使用文件作通信更快。
我们通过组合多条 head 、tail 命令来达到取区间数据,管道交付的最终意义就是级联多个命令来完成流水线式的数据处理工作。
date 指令🤔
顾名思义,date 指令就是用来显示时间的指令,他原本的输出格式并不方便我们直接阅读,所以我们一般会带上输出格式,一般是:
date +%Y-%m-%d_%H:%M:%S
Y,m,d,H,M,S 分别代表年月日时分秒的格式。
cal 指令🤔
cal 是Linux的日历功能
find 指令🤔
find 指令是非常重要的,它是 Linux 里面非常常见的文件查找指令,他可以查找指定目录下的指定文件,任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
因为目前俺是入门,很多 find 选项还用不到,所以了解一手就行,想深入研究的请自行搜索
grep 指令🤔
grep 是一个行文本过滤指令,即在文件中搜索字符串,将找到的内容打印出来,语法:
grep [选项] 要搜索的字符串 文件
-i
搜寻的字符串要加上 单引号 ‘ ’ ,而且在查找时该指令是明确了大小写的,所以如果要默认不区分大小写可以使用选项 -i,-i 是忽略大小写。
-v
-v 是反向过滤,凡是具有关键字的文本行,全部去掉留下没有匹配的文本行。
注意 grep 是行处理指令,永远拿到的是一行一行的内容。
总结一下就是:
cat命令:将文件内容一次全输出显示在屏幕上。
more命令:分屏显示文件内容,每次只显示一屏,只允许向前浏览。
less命令:与more相似,并且支持向前,向后浏览。
zip 指令🤔
zip 命令用于压缩文件,zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip,对应解压指令 unzip。
比如要将 /home/zip 目录下所有文件和文件夹打包成 zip 格式:
zip -r test.zip /home/zip
查看压缩文件中包含的文件:
# unzip -l abc.zip
Archive: abc.zip
Length Date Time Name
-------- ---- ---- ----
94618 05-21-10 20:44 a11.jpg
202001 05-21-10 20:44 a22.jpg
16 05-22-10 15:01 11.txt
46468 05-23-10 10:30 w456.JPG
140085 03-14-10 21:49 my.asp
-------- -------
483188 5 files
当然他会像所有解压软件一样,默认解压会将目标文件放在默认路径也就是当前目录下,如果想要放在指定地方我们可以带上-d
-d<目录> 指定文件解压缩后所要存储的目录
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
件放在默认路径也就是当前目录下,如果想要放在指定地方我们可以带上-d
-d<目录> 指定文件解压缩后所要存储的目录
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!