为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
二:为 nginx 安装 ssl 模块
如果没有安装 ssl 模块,即使你成功的配置好 https 的相关配置,网站也依旧不能使用 https,会提示诸如:无法提供安全连接、TLS协议不支持呀等问题。ssl 模块的安装是为了能让后端接口得以使用 https 的方式调用。找到我们的 nginx 安装解压包,我这里是放在 /usr/local/software 目录下,然后执行如下命令进入到 nginx-1.18.0 目录下。
cd /usr/local/software/nginx-1.18.0
来到 ngixn-1.18.0 目录 然后依次执行如下这三条命令
./configure --with-http_ssl_module
make
make install
由于我已经安装过了给大家看一下我当时执行的历史命令,也是这些。
安装好 ssl 之后,我们发现 nginx-1.18.0 安装包的 objs 目录下有如下这些文件,直接拷贝到 nginx 安装目录下的 sbin 文件夹下面。
nginx 默认的安装路径一般都在 /usr/local/nginx 这个位置,拷贝完成后 sbin 目录长这样。
到此 nginx ssl模块安装成功,切回 nginx 的安装目录接着执行如下命令,发现已经安装成功了。
cd /usr/local/nginx/sbin
./nginx -V
三、nginx 开启 443 端口监听(https配置)
由于 https 默认是走 443 端口的,于是我们需要在 nginx.conf 中配置 443端口的监听,然后里面配置证书路径配一下就好了,这里我是用的 pem 证书。
server {
listen 80;
server_name 你的域名;
#return 301 https://$server_name$request_uri;
location / {
index index.html;
alias /usr/local/nginx_static/dist/;
#autoindex on;
}
location /fmphone {
index index.html;
alias /usr/local/nginx_static/dist2/;
}
}
server {
listen 443 ssl;
server_name 你的域名;
ssl_certificate 证书linux绝对路径;
ssl_certificate_key 证书linux绝对路径;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;
ssl_protocols TLSv1;
ssl_prefer_server_ciphers on;
}
由于我这里有些项目需要接着走 http ,有些项目走 https ,我并没有开启全局 http 转 https ,也就是没有放开这行代码。这里需要注意的是,当放开这行代码后,监听 80 端口的 service 里面的 location 就会失效,因为请求全转发到 443 端口了,对应的 location 也要挪到 443 对应的那个 service 里面。我这里 location 写到了 80 端口对应的 service 里面是因为,我有些项目要走 http 有些要走 https,配的 http 与 https 共存(他们都是用的 80 service 里面的location),一个项目既可以通过 http 访问,也可以通过 https 访问,对应的 location 只能写到 80 对应的 service 里面,写到 443 对应的 service 会失效。这里大家需要注意一下哦。
return 301 https://$server_name$request_uri;
成功配好后的效果如下
可以看到走 https 访问连接是安全的了。
遇到的问题一:证书无效
当我们都配置好后,发现走 https 能正常访问项目,但是居然还提示是不安全的连接?这种情况我们只需要点不安全几个字,查看证书就好了,查看证书有效期,发现原来是我的证书过期了,一万个草泥马涌上心头,在这里,我们需要注意对应证书对应的域名是不是一致的,证书对应的域名=证书查看器后面那一坨。如果不一致会爆你证书与域名不匹配的错。
遇到的问题二:连公司的网络走 https 能访问项目、外网无法访问项目
一开始我连着公司的一个 wifi 测试发现一切正常,第二天上班一觉醒来,发现项目无法访问了,找了一上午原因,无意间换了个 wifi 诶嘿居然又正常了,换另外一个 wifi 诶嘿又不正常了,于是乎我就想到 wifi 有鬼,一个是内网 wifi 一个是外网 wifi。
这种一般都是防火墙的问题,我们先排查一下 linux 服务器防火墙是否拦截了 443 端口。执行如下命令
systemctl status firewalld
可以看到物理防火墙压根都没开启。于是乎你真就觉得不是防火墙的问题了吗?
linux还有一个云防火墙呢,反馈给领导让他去联系运维人员去配置云防火墙开启对外网访问的支持。
遇到的问题三:nginx转发后端请求session丢失
这几天把我手底下负责的项目 http 全部改成 https 了。有些项目用到了 session ,改成 https 后,每次刷新接口 session 都不一致的 bug,看了一眼这台服务器的 nginx 配置文件,发现后端代理是配置了,proxy_cookie_path 也配置了,但是配错了!!!!!!下面的是正确的配置,转发后的请求为 http://127.0.0.1:8080/serviceTrade/ ,下图配置代表把前缀为 /serviceTrade 的 cookie 携带到 /serviceapi/serviceTrade/ 路径下,而前端调用接口是通过 /serviceapi/serviceTrade/ 路径访问的,这样一来就解决了 session 传递的问题。
server {
listen 80;
server_name 域名;
location /serviceapi/serviceTrade/ {
proxy_pass http://127.0.0.1:8080/serviceTrade/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cookie_path /serviceTrade /serviceapi/serviceTrade/;
proxy_set_header Cookie $http_cookie;
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)
最全的Linux教程,Linux从入门到精通
======================
1. **linux从入门到精通(第2版)**
2. **Linux系统移植**
3. **Linux驱动开发入门与实战**
4. **LINUX 系统移植 第2版**
5. **Linux开源网络全栈详解 从DPDK到OpenFlow**
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)
**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**
> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
ux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**