面试需要掌握的知识点(未面试前)

[0]. 什么是运维?什么是游戏运维?

1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,
在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术
运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等

2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等

总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑开发运维、应用运维和系统运维他们的工作是环环相扣的。

[1]. 主机与主机之间通讯的三要素有什么?
IP地址、子网掩码、IP路由

[2]. 网络排错常用思路及每一步的作用或目的。
先ping回环地址,检查TCP/IP驱动是否正常;
再ping本网段其他主机,检查内网通信是否正常;
再ping默认网关,检查出口路由是否正常;
再ping其他网段其他主机,检查远程连通性。

[3].回环地址的范围。
127.0.0.1 ~ 127.0.0.254

[4]. HTTP返回的状态分别代表什么意思。
200:成功,服务器已经成功处理了请求。
307:临时重定向。
400:错误请求,服务器不理解请求的语法。
401:身份验证错误,此页要求授权。
403:禁止,服务器拒绝请求。
404:未找到,服务器找不到请求的网页。
500-505:服务器在尝试处理请求时发生内部错误,这些错误可能是服务器本身的错误。、

[5]. 有一台web服务器,某天某用户投诉上面某个网站速度很慢,如果你是服务器的管理员,以目前所学的知识,你将以什么思路查找原因,请列出排查思路和步骤及理由。(假设服务器有任意操作系统和软件)

首先检测服务器状态,排除硬件和系统故障;
然后检查底层网络状态,如互联情况、延迟、流量,排除网络和网卡故障;
最后检查web服务器软件运行情况。

[5]. 什么是交换机?

扫描二维码关注公众号,回复: 1727606 查看本文章

[6]. 什么是文件系统?常见的有哪些?
即在外部存储设备上组织文件的方法。
FAT、NTFS、EXT

[7]. NTFS文件系统的优点有哪些?
提高磁盘读写能力;
可靠性强:加密、访问控制列表;
磁盘利用率:压缩、磁盘配合;

[8]. 什么是冷/热备份?他们各自有什么优点和缺点?

冷备份:
指需要备份的文档不被占用的情况下执行备份的方式;比如将数据库软件关闭,对数据库资料做备份。
优点是简单快速、容易恢复到某个时间点、方便维护;缺点是只能恢复到某个时间点、备份期间数据不便正常使用。

热备份:
指执行备份时不影响备份文档正常使用的方式;比如数据库软件正在运行,对数据库资料做备份。
优点是备份时间短、不影响数据使用、可达秒级恢复;缺点是所有操作都会同步,包括删除。

[9]. 什么是域?
将网络中的计算机逻辑上组织到一起,进行集中管理,这种集中管理的环境称为域。

[10.]什么是域控制器?
在域中,至少有一台域控制器,域控制器中保存着整个域的用户账号和安全数据库,安装了活动目录的一台计算机为域控制器,域管理员可以控制每个域用户的行为。

[11]. LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡

LVS: 是基于四层的转发
HAproxy: 是基于四层和七层的转发,是专业的代理服务器。
Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发。

区别: LVS由于是基于四层的转发所以只能做端口的转发,而基于URL的、基于目录的这种转发LVS就做不了。

工作选择:
HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以转发。
在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大,选择HAproxy或者Nginx足已,由于HAproxy由是专业的代理服务器
配置简单,所以中小型企业推荐使用HAproxy。

[12]. 什么是代理服务器?
能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问相同的资
源的时候,代理服务器直接从本地回应给用户,当本地没有的时候,我代替你去访问公网,我接
收你的请求,我先在我自已的本地缓存找,如果我本地缓存有,我直接从我本地的缓存里回复你
如果我在我本地没有找到你要访问的缓存的数据,那么代理服务器就会代替你去访问公网

[13]. Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

Squid、Varinsh和Nginx都是代理服务器。

区别:
1)varnish和squid是提供专业的cache服务,而nginx缓存功能呢个是第三方模块完成的。Nginx本来是反向代理/web服务器,用了插件可以做做这个副业,只能缓存静态文件。
2)varnish本身的技术上优势要高于squid,它采用了可视化页面缓存技术,并且在内存的利用上,Varnish比Squid具有优势,性能要比Squid高,通过Varnish管理端口,还可以使用正则表达式快速、批量地清除部分缓存。
3)squid的优势在于完整的庞大的cache技术资料,和很多的应用生产环境

工作中选择:
要做cache服务的话,我们肯定是要选择专业的cache服务,优先选择squid或者varnish。

[14]. Tomcat和Resin有什么区别,工作中你怎么选择?
区别:Tomcat用户数多,可参考文档多,Resin用户数少,可考虑文档少
最主要区别则是Tomcat是标准的java容器,不过性能方面比resin的要差一些
但稳定性和java程序的兼容性,应该是比resin的要好

工作中选择:现在大公司都是用resin,追求性能;而中小型公司都是用Tomcat,追求稳定和程序的兼容

[15]. 讲述一下Tomcat8005、8009、8080三个端口的含义?
8005==》 关闭时使用
8009==》 为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口
8080==》 一般应用使用

[16]. 什么是中间件?什么是jdk?
中间件介绍:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯
是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口

但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递
通过中间件,应用程序可以工作于多平台或OS环境。

jdk:jdk是Java的开发工具包
它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境

[17]. 什么叫CDN?
内容分发网络:
简单的说CDN就是让原本上海的浏览器要访问北京主站内容的请求转而由部署在上海或南京的缓存来受理,这样请求的数据只需经过一跳或有限的几跳就能到达请求端。
其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度。

[18]. 什么叫网站灰度发布?
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式
AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B
如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

[19]. 简述DNS进行域名解析的过程?
用户要访问www.baidu.com,会先找本机的host文件,再找本地设置的DNS服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器,二级域服务器只能提供三级域名服务器.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站www.baidu.com,然后发给请求的DNS服务器,服务器保存一份之后,再发给客户端。

[20]. 讲一下Keepalived的工作原理?(结合笔记)
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组。这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master会发组播,当backup收不到vrrp包时就认为master宕掉了。这时就需要根据VRRP的优先级来选举一个backup当master。这样就可以保证路由器的高可用了。

keepalived主要有三个模块,分别是core、check和vrrp。
core模块为keepalived的核心,负责主进程的启动、维护,及全局配置文件的加载和解析。
check负责健康检查。
vrrp模块是来实现VRRP协议的。

[21].讲述一下LVS三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是NAT(nat 模式) DR(直接路由模式) TUN(隧道模式)

一、NAT模式
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址

并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP,将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。

缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢。所以有了隧道模式。

二、IP隧道模式(VS-TUN)

原理:隧道模式就是,调度器把客户端发来的数据包通过IP隧道转发给RS,RS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客户端。

应答报文不需要再经过调度器,调度器只处理请求报文。互联网上的大多Internet服务的请求包很短小,而应答包通常很大。采用VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。

注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议,所以,在RS的内核中,必须编译支持IPTUNNEL这个选项。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量。

这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。

缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上

三、直接路由模式(VS-DR)

原理:负载均衡器和RS都使用同一个IP对外服务但只有DR对ARP请求进行响应。所有RS对本身这个IP的ARP请求保持静默(ARP抑制)。而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP(VIP)一致)。并将请求分发给这台RS。RS收到这个数据包,处理完成之后,由于IP(VIP)一致,可以直接将数据返给客户。

注意:由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,也可以简单的理解为在同一台交换机上。

优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包有RS通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。

缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

[21]. Nginx相比于apache的优缺点:
nginx 相对 apache 的优点:
(1)轻量级,同样起web 服务,比apache 占用更少的内存及资源。
(2)抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 。
(3)Nginx更适合作处理静态请求。
(4)高度模块化的设计,编写模块相对简单。
(5)本身就是一个反向代理服务器,支持七层负载均衡。
1.
作为 Web 服务器:相比 Apache(select),Nginx (epoll)使用更少的资源,支持更多的并发连接,体现更高的效率,在高连接并发的情况下,更适合用Nginx。
Apache更适合处理动态请求,nginx的优势是处理静态请求

2.
作为负载均衡服务器: Nginx 既可以在内部直接支持PHP 程序对外进行服务, 也可以支持作为 HTTP代理服务器对外进行服务。

[22]. Nginx,LVS,Haproxy特点:

Nginx的优点是:
1、工作在网络的7层之上,当用户请求服务时,可以根据url进行判断,然后分配到不同的后台RS上。并且它的正则规则比HAProxy更为强大和灵活。
2、Nginx安装和配置比较简单,测试起来比较方便,LVS的配置、测试就要花比较长的时间了。Nginx对网络稳定性的依赖非常小(能ping通就就能进行负载功能),LVS对网络依赖比较大。
3、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量。
4、Nginx可以对后端进行健康检查,会将后端服务器返回错误的请求重新提交到另一个节点。LVS需要配合Keepalive来实现。

Nginx的缺点是:
1、仅能支持http、https和Email协议
2、对后端服务器的健康检查只是节点级别的(通过端口来检测),不支持通过url来检测。

LVS的优点是:
工作在网络4层之上仅作分发之用,没有流量的产生,决定了它在负载均衡软件里的性能最强的,对内存和cpu资源消耗比较低。
LVS的缺点是:
不支持正则表达式处理,不能做动静分离。

HAProxy的特点是:
1、支持Session共享、Cookies引导。
2、支持通过URL健康检测
3、支持8种负载均衡策略
4、可以对MySQL读进行负载均衡

单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的

[23]. awk命令

统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip

cat access.log | awk '{print $1}' | uniq -c | sort -rn | head -10

查看http的并发请求数与其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

请执行命令取出 linux 中 eth0 的 IP 地址

ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'

[24]. iptables命令
如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1

iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080

[25]. 你常用的Nginx模块,用来做什么?

[26]. mysql如何减少主从复制延迟?

如果延迟比较大,就先确认以下几个因素:
1、从库硬件比主库差,导致复制延迟。
2、主从复制单线程,如果主库写并发太大,来不及传送到从库就会导致延迟。更高版本的mysql(6.5以后)可以支持多线程复制。
3、慢SQL语句过多
4、网络延迟

MySQL数据库主从同步延迟解决方案:
主库是写,对数据安全性较高,比如sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog,innodb_flushlog也可以设置为0来提高sql的执行效率。另外就是使用比主库更好的硬件设备作为slave。

[27]. SSL(对照笔记完善)

加密技术的两个元素是什么?
算法;
密钥。

什么是密钥?
是用来对数据进行编码和解码的一种算法。

数据加密技术总体分为几类?分别是什么?
对称加密;
非对称加密。

[28]. 操作系统
也称OS,是一种计算机软件,为应用软件提供访问计算机硬件的服务,提供有效的硬件、软件管理。

[29]. 什么是虚拟机?虚拟机有几种架构?列举出三个虚拟机厂商?

虚拟机:
运行在计算机上的一款软件程序,模拟计算机硬件功能为其他软件程序系统一个独立的计算机环境。

两种架构:
1、寄居架构:作为应用软件安装在操作系统上,可以在此应用软件上安装多个操作系统

2、原生架构:虚拟机软件直接安装在计算机硬件上,虚拟机本身就是一个操作系统。

虚拟机厂商:Vmware、微软、Citrix(思杰)

参考:

运维常见面试题
https://blog.csdn.net/qq_39397409/article/details/79022399

linux运维面试精选
http://blog.51cto.com/silencezone/2072531

猜你喜欢

转载自blog.csdn.net/guaiderzhu1314/article/details/80781047