为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2.应用
GoogleNet中的Inception、ResNet中的残差模块。
Inception举例
在Inception网络(论文Going Deeper with Convolutions)中图像输入进来后,通常可以选择直接使用像素信息(1x1卷积)传递到下一层,可以选择3x3卷积,可以选择5x5卷积,还可以选择max pooling的方式downsample刚被卷积后的feature maps。 但在实际的网络设计中,究竟该如何选择需要大量的实验和经验的。 Inception就不用我们来选择,而是将4个选项给神经网络,让网络自己去选择最合适的解决方案。但是这些卷积滤波器的设计也会在计算上造成很大的消耗,由于3*3卷积或者5*5卷积在几百个filter的卷积层上做卷积操作时相当耗时,所以1*1卷积在3*3卷积或者5*5卷积计算之前先降低维度。
普通的Inception模块:
从下往上看,本层输入的feature map 是28*28*192 。
注:卷积核的通道数与输入的feature map一致,而卷积核的个数与输出channel一致。
输入feature map | 卷积核大小 \ 卷积核参数 | 通道数 | 个数 | 卷积操作所生成的通道数 | 输出feature map |
28*28*192 | 1*1 | 192 | 64 | 64 | (28*28)*64 |
28*28*192 | 3*3 | 192 | 128 | 128 | (26*26)*128 |
28*28*192 | 5*5 | 192 | 32 | 32 | (24*24)*32 |
注: 卷积核通道数默认与所作用的feature map通道数相同,使用时也不写通道数,只写filter个数(即卷积核数量)。 图中红色部分channel个数可以理解为,是该卷积核与输入feature map作用完之后所生成的feature map 的通道数(channel个数)。或者理解为,是当前卷积核的个数(filter数)。
表格中 最后一列 输出feature map是 假设步长为1,padding=0,各卷积核作用后所生成的feature map,主要是想表现出卷积操作前后通道数的变化,无其他意义。
参数量:(1×1×192×64) + (3×3×192×128) + (5×5×192×32) = 153600
最终输出的feature map个数:64+128+32+192 = 416
(feature map尺寸是指 W、H是权值共享的sliding window,feature map的数量就是channels)
池化层不引人参数!
feature map个数就是filter个数,一个滤波器在前一个feature map上进行一次卷积操作(特征抽取)会产生一个feature map或者叫通道、深度。
加入1*1卷积的inception模块:
在3*3,5*5 卷积层前新加入的1x1的卷积核数量为96和16个的,max pooling后加入的1x1卷积核数量为32。
图中该层的参数:
(1×1×192×64)+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32)+(1x1x32)=15904
最终输出的feature map个数: 64+128+32+32=256
(feature map尺寸是指 W、H是权值共享的sliding window,feature map的数量就是channels)
通过对比是否添加了1*1卷积核的两个inception模块,可以看到生成的feature map个数(即通道数)从416降低至256 ,参数量也大大降低。
所以,加入1×1的卷积后,在降低大量运算的前提下,降低了维度。
ResNet中残差模块举例
假设输入的feature map是w*h*256,并且最后要输出的是256个feature map。
(为追求两者一致性,需要把左侧图的64都改成256,且中间只有一层3*3*256的卷积层)
左侧操作数:w*h*256*3*3*256 =589824*w*h
右侧操作数:w*h*256*1*1*64 + w*h*64*3*3*64 +w*h*64*1*1*256 = 69632*w*h,,左侧参数大概是右侧的8.5倍。(实现降维,减少参数)
主要是1∗1卷积核可以先进行降维,降维之后需要的3∗3的卷积核数目就变少了。而真正占用参数量的是3∗3卷积核,1*1卷积核的参数量其实非常少,所以引入了1∗1卷积核来减少训练参数。
右侧图,在输出之前也有一个卷积核,feature map被 3*3,64的卷积核作用后 channel是64,只需添加一个 1*1,256的卷积核,只用64*256个参数就能把网络channel从64扩展四倍到256。(从64通道扩展到256通道)(实现升维,且参数量少)
跨通道信息交互举例
使用1*1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3*3,64channels的卷积核后面添加一个1*1,28channels的卷积核,就变成了3*3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。
注意:只是在channel维度上做线性组合,W和H上是共享权值的sliding window。
3. 1*1卷积作用
1*1卷积核进行降维或升维,是通过控制卷积核(通道数)实现的。
降维(缩减网络通道数,减少参数,减少计算量)
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!