Linux运维(应用软件原理)面试专题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux运维(应用软件原理)面试专题相关的知识,希望对你有一定的参考价值。
1、什么是运维?什么是游戏运维?
1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,
在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术
运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等
2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等
总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑
开发运维、应用运维和系统运维他们的工作是环环相扣的
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
游戏运营要做的一个事情除了协调工作以外,还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划
3、现在给你三百台服务器,你怎么对他们进行管理?
管理3百台服务器的方式:
1)设定跳板机,使用统一账号登录,便于安全与登录的考量。
2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。
3)建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。
4、简述raid0 raid1 raid5 三种工作模式的工作原理及特点
1)raid0
工作原理:连续的数据分散到多个磁盘上存取
特点:读写性能最高,但不允许坏硬盘,有一块硬盘坏掉,所有的数据将丢失。
2)raid1
工作原理:两块硬盘互为镜像
特点:一块硬盘为另外一块硬盘的备份,一块硬盘坏掉后,服务与数据不受影响。总容量减半
3)raid5
工作原理:连续的数据与冗余数据分散到多个磁盘
特点:允许坏一块硬盘,读写性能基于raid0与raid1之间,总容量为n-1
5、分别简述Apache两种工作模式的优缺点?
apache 主要有两种工作模式:prefork(apache 的默认安装模式)和worker(可以在编译的时候加参数--with-mpm-worker 选择工作模式)
prefork 的特点是:(预派生)
1)这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2)可以防止意外的内存泄漏
3)在服务器负载下降的时候会自动减少子进程数
worker 的特点是:
1)支持混合的多线程多进程的多路处理模块
2)如果对于一个高流量的HTTP 服务器,worker MPM 是一个比较好的选择,因为worker MPM 占用的内存要比prefork 要小。
6、请写出Apache2.X 版本的两种工作模式,以及如何查看Apache 当前 所支持的模块,并且查看是工作在哪种模式下?
prefork进程(多进程,每个进程产生子进程)
work(多进程,每个进程产生多个线程)
httpd -l 可以查看apache当前的模块。如果带有worker.c就是工作在worker模式下,如果有
prefork.c就是工作在preforkk.c的模式下
7、LVS、nginx、HAproxy有什么区别?工作中你怎么选择?
LVS: 是基于四层的转发
HAproxy: 是基于四层和七层的转发,是专业的代理服务器
Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发
区别: LVS由于是基于四层的转发所以只能做端口的转发,而基于URL的、基于目录的这种转发LVS就做不了,
工作选择:HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做,在很大并发量的时候我们就要选择LVS
像中小型公司的话并发量没那么大,选择HAproxy或者Nginx足已,由于HAproxy由是专业的代理服务器,配置简单,所以中小型企业推荐使用HAproxy
8、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
Squid、Varinsh和Nginx都是代理服务器
什么是代理服务器:
能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问相同的资
源的时候,代理服务器直接从本地回应给用户,当本地没有的时候,我代替你去访问公网,我接
收你的请求,我先在我自已的本地缓存找,如果我本地缓存有,我直接从我本地的缓存里回复你,
如果我在我本地没有找到你要访问的缓存的数据,那么代理服务器就会代替你去访问公网
区别:
1)Nginx本来是反向代理/web服务器,用了插件可以做做这个副业,但是本身不支持特性挺多,只能缓存静态文件
2)从这些功能上。varnish和squid是专业的cache服务,而nginx这些是第三方模块完成
3)varnish本身的技术上优势要高于squid,它采用了可视化页面缓存技术,在内存的利用上,Varnish比Squid具有优势,性能要比Squid高。
还有强大的通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存
它是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的
4)squid的优势在于完整的庞大的cache技术资料,和很多的应用生产环境
工作中选择:
要做cache服务的话,我们肯定是要选择专业的cache服务,优先选择squid或者varnish。
9、Tomcat和Resin有什么区别,工作中你怎么选择?
区别:Tomcat用户数多,可参考文档多,Resin用户数少,可考虑文档少
最主要区别则是Tomcat是标准的java容器,不过性能方面比resin的要差一些
但稳定性和java程序的兼容性,应该是比resin的要好
工作中选择:现在大公司都是用resin,追求性能;而中小型公司都是用Tomcat,追求稳定和程序的兼容
10、Apache跟Nginx有什么区别?工作中选哪一个?为什么?
1)Nginx相于Apache的优点:
轻量级,同样为Web服务但却比Apache占用更少的内存及资源
搞并发方面,Nginx处理请求是异步非阻塞,而Apache则是阻塞的,在高并发下Nginx能保持低资源低消耗
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块出口迅速
2)Apache相对于Nginx的优点:
rewrite 比Nginx的rewrite强大,
模块超多,Nginx的bug相对较多
超稳定
3)工作中选择:
一般来说,如果需要性能的Web服务,就用Nginx,如果不需要性能只要稳定那就用Apache
11、什么是中间件?什么是jdk?
中间件介绍:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,
管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能
交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
jkd:jdk是Java的开发工具包。它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。
12、讲述一下Tomcat8005、8009、8080三个端口的含义?
8005==》 关闭时使用
8009==》 为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口
8080==》 一般应用使用
13、讲述一下Resin8080、6911、6921三个端口的含义?
8080==》 Resin Web Server的端口,如果不需要resin做web server,可以关掉这个配置
6911==》 真正的Resin端口,这个必须要起来。将来在Apache里就是把请求抛给这个端口解析的
6921==》 watchdog端口
14、什么叫CDN?
- 即内容分发网络
- 其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到
最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度
15、什么叫网站灰度发布?
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,
如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
16、简述DNS进行域名解析的过程?
用户要访问www.baidu.com,会先找本机的host文件,再找本地设置的DNS服务器,如果也没有的话,就去网络中找根服务器,根
服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器
说只能提供二级域名服务器.com.cn,就去找二级域名服务器,二级域服务器只能提供三级域名服务器
.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好就有这样一网站www.wsyht.com,然后
发给请求的服务器,保存了一份之后,再发给客户端
17、为什么要整合apache和resin?
1)早期的resin,tomcat对http服务支持不好
2)tomcat、resin对rewrite、expires、gzip功能支持不好
3)为了要做动静分离
18、RabbitMQ是什么东西?
RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器。消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用。
队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列不会保留消息,直到可以成功地传递为止,当然,消息队列保存消息也是有期限地
19、讲一下Keepalived的工作原理?
在一个虚拟路由器中,只有作为MASTER的VRRP路由器会一直发送VRRP通告信息,
BACKUP不会抢占MASTER,除非它的优先级更高。当MASTER不可用时(BACKUP收不到通告信息),
多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(<1s),以保证服务的连续性。
由于安全性考虑,VRRP包使用了加密协议进行加密。BACKUP不会发送通告信息,只会接收通告信息。
20、讲述一下LVS三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧道模式)
VS/NAT模式介绍
这种模式当来访问这个网络的时候,负载均衡机会通过NAT 的转换分别分发给应用服务器A 或应用服务器B。应用服务器返回给来至外部的访问,
要再次通过负载机访问给来至外部的访问。这种模式通常是应用服务器是IP 是私有IP 地址,需要通过NAT 地址来转换成公网IP 地址。
VS/DR模式介绍
路由模式,负载均衡机和应用服务器同属于一个IP 范围,并且负载均衡虚拟的IP 也属于这个IP 范围,通常都是配置的公网IP 地址,这种方式我们可以采用路由模式。当外部
网络来访问的时候,首先肯定是通过负载均衡机来分发给这个集合的应用服务器,但是应服务器,返回给外部网络的不在通过这个负载均衡机出去,而且自己通过路由返回给外
部网络,自己去查路由,去返回。
VS/TUN模式介绍
隧道模式,负载均衡机和集群集合的服务器和负载均衡虚拟出来IP不属于同一个网段,分别分布在不同网段,这时候我需要隧道模式,好比这个负载均衡机和这个集群集合的服务
器建议一条用来专门用来负载均衡隧道,隧道模式首先外部网络访问时候,经负载均衡机来分发到应用服务器,应用服务器也是和路由模式一样的方式,自己路由出去返回结果给来至
外部的访问,也不经在过负载均衡机出返回给来至外部网络的访问。
21、讲述一下FastDFS的工作原理?
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,
解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站,视频网站等
FastDFS服务器端有两个角色,跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口。
跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,
可以根据服务器的压力情况随时增加或减少。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,
卷与卷之间的文件是相互独立的,所有卷 的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,
卷中的多台存储服务器起 到了冗余备份和负载均衡的作用。
22、当你要分享你的东西给你的领导的时候,你会怎么跟他述说你的分享?
1、分享的是什么东西?
2、为什么要用
3、如何用
4、用了出问题如何维护
本文出自 “wsyht的博客” 博客,请务必保留此出处http://wsyht2015.blog.51cto.com/9014030/1786893
以上是关于Linux运维(应用软件原理)面试专题的主要内容,如果未能解决你的问题,请参考以下文章