为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
repo id repo name status
!cenot-7.6 cenots7.6 4,021
repolist: 4,021
[root@master ~]#
- 安装httpd服务
yum install -y httpd
[root@master ~]# yum install -y httpd
-
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos,
- subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
cenot-7.6 | 3.6 kB 00:00
Resolving Dependencies
–> Running transaction check
—> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed
–> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64
–> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-88.el7.centos.x86_64
–> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
–> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
–> Running transaction check
—> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed
—> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
—> Package httpd-tools.x86_64 0:2.4.6-88.el7.centos will be installed
—> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
httpd x86_64 2.4.6-88.el7.centos cenot-7.6 2.7 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7_4.1 cenot-7.6 103 k
apr-util x86_64 1.5.2-6.el7 cenot-7.6 92 k
httpd-tools x86_64 2.4.6-88.el7.centos cenot-7.6 90 k
mailcap noarch 2.1.41-2.el7 cenot-7.6 31 k
Transaction Summary
================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 3.0 M
Installed size: 10 M
Downloading packages:
Total 33 MB/s | 3.0 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-3.el7_4.1.x86_64 1/5
Installing : apr-util-1.5.2-6.el7.x86_64 2/5
Installing : httpd-tools-2.4.6-88.el7.centos.x86_64 3/5
Installing : mailcap-2.1.41-2.el7.noarch 4/5
Installing : httpd-2.4.6-88.el7.centos.x86_64 5/5
Verifying : httpd-tools-2.4.6-88.el7.centos.x86_64 1/5
Verifying : apr-1.4.8-3.el7_4.1.x86_64 2/5
Verifying : mailcap-2.1.41-2.el7.noarch 3/5
Verifying : httpd-2.4.6-88.el7.centos.x86_64 4/5
Verifying : apr-util-1.5.2-6.el7.x86_64 5/5
Installed:
httpd.x86_64 0:2.4.6-88.el7.centos
Dependency Installed:
apr.x86_64 0:1.4.8-3.el7_4.1 apr-util.x86_64 0:1.5.2-6.el7
httpd-tools.x86_64 0:2.4.6-88.el7.centos mailcap.noarch 0:2.1.41-2.el7
Complete!
[root@master ~]#
- 修改配置文件:
/etc/httpd/conf/httpd.conf
我们httpd 中默认提供web 界面的位置是我们/var/www/html
目录,如果我们yum 源想指定目录,就需要修改2处内容
[root@master ~]# vim /etc/httpd/conf/httpd.conf
下面是修改后的内容及行号
119 DocumentRoot “/usr/local”
131 <Directory “/usr/local/”>
注:有2个directory,修改下面哪个
- 重启http服务
[root@master ~]# systemctl restart httpd
[root@master ~]#
[root@master ~]# systemctl is-active httpd
active
[root@master ~]#
- 需要新建一个目录,新建的目录是用来存放软件的安装包的【安装包格式为:rpm包】
在/usr/local
下新建任意目录,我这使用yumrepo
创建这个目录的意义是:将rpm包放在这里面,也就是http的源包
[root@master ~]# mkdir /usr/local/yumrepo
[root@master ~]#
- 然后我们去镜像的包里面,将全部rpm包拷贝到我们上面创建的这个文件中
如果你跟着我做的本地源,可以看到镜像是挂载到/root/centos7.6上的【如果你不是,自己挂载到哪,就进入到哪【下面命令应该看得懂吧】
[root@master ~]# df | grep centos7.6
/dev/loop0 4480476 4480476 0 100% /root/centos7.6
[root@master ~]#
[root@master ~]# cd /root/centos7.6/
[root@master centos7.6]# ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@master centos7.6]# cd Packages/
[root@master Packages]# ls | wc -l
4022
[root@master Packages]# cp * /usr/local/yumrepo/
[root@master Packages]# cd /usr/local/yumrepo/
[root@master yumrepo]# ls |wc -l
4022
[root@master yumrepo]#
-
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
-
在
/usr/local/
目录下执行createrepo -v yumrepo/
[root@master yumrepo]# cd …
[root@master local]# pwd
/usr/local
[root@master local]#
[root@master local]# createrepo -v yumrepo/
…#正常情况4000多条会全部过一边,我只放了最后一部分
Worker 0: reading xulrunner-31.6.0-2.el7.centos.x86_64.rpm
Worker 1: reading xvattr-1.3-27.el7.x86_64.rpm
Worker 2: reading xz-5.2.2-1.el7.x86_64.rpm
Worker 3: reading xz-devel-5.2.2-1.el7.x86_64.rpm
Worker 0: reading xz-libs-5.2.2-1.el7.x86_64.rpm
Worker 1: reading yajl-2.0.4-4.el7.x86_64.rpm
Worker 2: reading yelp-3.28.1-1.el7.x86_64.rpm
Worker 3: reading yelp-libs-3.28.1-1.el7.x86_64.rpm
Worker 0: reading yelp-tools-3.28.0-1.el7.noarch.rpm
Worker 1: reading yelp-xsl-3.28.0-1.el7.noarch.rpm
Worker 2: reading yp-tools-2.14-5.el7.x86_64.rpm
Worker 3: reading ypbind-1.37.1-9.el7.x86_64.rpm
Worker 0: reading ypserv-2.31-11.el7.x86_64.rpm
Worker 1: reading yum-3.4.3-161.el7.centos.noarch.rpm
Worker 2: reading yum-langpacks-0.4.2-7.el7.noarch.rpm
Worker 3: reading yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
Worker 0: reading yum-plugin-aliases-1.1.31-50.el7.noarch.rpm
Worker 1: reading yum-plugin-changelog-1.1.31-50.el7.noarch.rpm
Worker 2: reading yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
Worker 3: reading yum-plugin-tmprepo-1.1.31-50.el7.noarch.rpm
Worker 0: reading yum-plugin-verify-1.1.31-50.el7.noarch.rpm
Worker 1: reading yum-plugin-versionlock-1.1.31-50.el7.noarch.rpm
Worker 2: reading yum-utils-1.1.31-50.el7.noarch.rpm
Worker 3: reading zenity-3.28.1-1.el7.x86_64.rpm
Worker 0: reading zip-3.0-11.el7.x86_64.rpm
Worker 1: reading zlib-1.2.7-18.el7.x86_64.rpm
Worker 2: reading zlib-devel-1.2.7-18.el7.x86_64.rpm
Worker 3: reading zsh-5.0.2-31.el7.x86_64.rpm
Worker 0: reading zziplib-0.13.62-9.el7.x86_64.rpm
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Starting other db creation: Wed Aug 18 10:35:18 2021
Ending other db creation: Wed Aug 18 10:35:20 2021
Starting filelists db creation: Wed Aug 18 10:35:21 2021
Ending filelists db creation: Wed Aug 18 10:35:26 2021
Starting primary db creation: Wed Aug 18 10:35:26 2021
Ending primary db creation: Wed Aug 18 10:35:29 2021
Sqlite DBs complete
[root@master local]#
给/usr/local/yumrepo
配置权限,因为我们的httpd 的服务使用的是apache
用户,该目录需要有普通用户的执行权限
[root@master yumrepo]# chmod -R 755 /usr/local/yumrepo/
[root@master yumrepo]#
正常情况,我们在本地浏览器上输入ip/yumrepo
即可看到全部包的内容。
==================================================================
任意能和服务端通信的主机均可配置,包括服务端自己也是可以配置该http源的。
如果是默认的yum源且没有外网可用,则进入到/etc/yum.repos.d/
目录下创建一个备份的目录,将我们/etc/yum.repos.d/
下的yum 源 mv移动到我们的新建的备份目录下
[root@master yum.repos.d]# pwd
/etc/yum.repos.d
[root@master yum.repos.d]# mkdir bak_docker
[root@master yum.repos.d]# mv CentOS-* bak_docker/
[root@master yum.repos.d]# ls
bak_docker
因为这台是我的服务端,这个自带一个本地源文件的,然后我又新建了一个http源:http.repo
[root@master yum.repos.d]# ls
bak_docker centos.repo http.repo
[root@master yum.repos.d]#
这是本地源代码
[root@master yum.repos.d]# cat centos.repo
[cenot-7.6]
name=cenots7.6
baseurl=file:///root/centos7.6
gpgcheck=0
enable=1
[root@master yum.repos.d]#
这就是http源,照着做就行,就修改ip即可,其他不要变
[root@master yum.repos.d]# cat http.repo
[http]
name=http
enabled=1
gpgcheck=0
baseurl=http://192.168.59.142/yumrepo/
[root@master yum.repos.d]#
-
代码解释:
-
name=http
#我们yum 源命名 -
enabled=1
#启用yum源,0为不启用,1为启用 -
gkgcheck=0
#检查GPG-KEY,0为不检查,1为检查 -
baseurl=http://192.168.59.142/yumrepo
#是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件
-
下面3个代码按顺序执行一遍
-
yum clean all
#清除yum缓存 -
yum makecache
#缓存本地yum源中的软件包信息 -
yum repolist
#查看源软件包 -
正常情况呢,就是执行
yum repolist
以后有我们定义的http源名称,且有相应的数量,如果数量为0,则哪个步骤出问题了,如下,我有本地源和http源,所以总共是8000多个。
[root@master yum.repos.d]# yum clean all
-
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos,
- subscription-manager
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!