京东一面运维试题

非技术:

1.自我介绍

2.对运维的理解,你觉得什么是运维,运维需要你掌握哪些技能

对软件运行中各种性能的维护。运维就像是服务器的医生,平时对其进行养生维护,遇到故障问题提出解决解决方案,并制定改进计划。它和研发,测试是好基友,随时协调处理产品问题。

扎实的计算机基础知识,包括计算机系统,操作系统Linux,网络技术等;

通用应用方面需要了解安全,存储,CDN,数据库等,知道其相关原理;

编程能力,尤其是Python,shell脚本编程,日常系统维护脚本编写,运维工具的开发甚至大型运维系统/平台的开发

综合且丰富应用知识,包括监控工具、典型服务器架构、服务器选型等;

3.运维也可以继续细分好多种,你更偏向于哪个?

4.你觉得哪种运维更有发展前途?

5.你的职业规划

  

技术:

网络:

1. 说一下OSI七层模型

第七层:应用层数据用户接口,提供用户程序“接口”。

第六层:表示层数据数据的表现形式,特定功能的实现,如数据加密。

第五层:会话层数据允许不同机器上的用户之间建立会话关系

第四层:传输层段实现网络不同主机上用户进程之间的数据通信,可靠

与不可靠的传输,传输层的错误检测,流量控制等。

第三层:网络层包提供逻辑地址(IP)、选路,数据从源端到目的端的

传输

第二层:数据链路层帧将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正。

第一层:物理层 比特流 设备之间比特流的传输,物理接口,电气特性等。

OSI模型是不完美的:

它将服务和协议的定义结合起来,使得整个协议变得复杂,耦合度高。差错检验,流量控制在多个层重复出现, 降低系统的效率。而会话层的内容几乎是空的,数据安全性也没有得到此模型的重视。所以它在实际的应用中是不实用的,也不适合计算机软硬件的工作方式。

2.TCP三次握手和四次挥手的状态,最好将整个握手挥手流程说一遍

 

 

3.NAT有哪几种类型,别只回答类型,最好将如何转换说一遍

静态:内部地址和外部地址是一一对应的

动态:内部地址可以使用地址pool池中的外部地址,多个内部地址共享多个外部地址,对应关系动态变化

PAT(端口映射):多个内部地址共享一个外部地址,用过端口号复用。

私网主机将数据包发给运行NAT的计算机。NAT主机将数据包中的源端口号和源私有IP地址转换成自己的端口号和公网的IP地址(SNAT),然后将数据包发给外部网络的目的主机,同时记录一条跟踪信息在地址转换映射表中,以便向主机发送响应信息。外部网络发送回送信息给NAT主机。NAT主机根据映像表中的记录,将所收到数据包的端口号和公用IP地址转换成目标主机的端口号和内部网络中目标主机的专用IP地址(DNAT),并转发给目标主机。

4.ARP解析的过程。分不同情况,比如同一网段和不同网段。

(1)同一子网内的ARP。

主机A (172.16.20.20/24)与主机B通信。假设在A上Ping主机B的IP地址172.16.20.5/24。

为了把测试信息发送到主机B和A,将构造关于Ping的IP数据包。可以确定,这个包头中的源IP地址是172.16.20.20,目的地址172.16.20.5。IP数据包构造完成以后,需要将它从网卡发送出去,在这之前必须要封装2层的以太网帧头。分析帧头中的MAC地址情况,它的源地址应该是00-0C-04-18-19-aa,这个地址很容易获得,主机A直接从自己的网卡中获取即可,帧头中的目的MAC地址应该是00-0C-04-38-39-bb,它对应于主机B的MAC地址。主机A如何得知主机B的MAC地址呢?这是主机A在封装2层帧头时必须解决的问题,否则无法发送这个帧出去。主机A唯一的办法是向主机B发出询问,请主机B回答它自己的MAC地址是什么。ARP协议正是负责完成这一工作的,即已知目的节点的IP地址来获取它相应的物理地址。

ARP的操作过程如下。

主机A发出ARP请求,请求帧中的数据部分包括发送者MAC地址00-0C-04-18-19-aa、发送者IP地址172.16.20.20和目标MAC地址,这里全部填充0,因为它未知(这正是ARP要询问的),目标IP地址是172.16.20.5。

② 在请求帧的帧头部分,目的MAC地址是广播地址,因此所有收到的站点(其中就包括主机B)都打开这个帧查看其数据部分的内容。

③ 只有符合目标IP地址172.16.20.5的主机(主机B)回答这个ARP请求,其他站点则忽略这个请求。

④ 主机B把自己的MAC地址写入“目标地址”字段中,送给主机A。

主机A通过ARP的操作得到了主机B的MAC地址,可以继续完成它的封装过程,从而最终执行了Ping的操作。

ARP请求者收到应答后,会在自己的缓存中构建一个ARP表,将得到的地址信息缓存起来,以备将来和同一目的节点通信时直接在ARP表中查找,避免了多次的广播请求。

实际上,完整的操作过程是:主机A在准备构造2层帧头时,首先根据目的IP去查找ARP表,如果找到对应项,则直接得到目的MAC地址,如果没有查到才执行上面所说的ARP广播请求。这样做是为了最大限度地减少广播。

    (2)不同子网间ARP

假设在主机A(172.16.10.10/24)上Ping主机B的IP地址172.16.20.5/24,随后主机A将构造关于Ping的IP数据包,这一过程与前面相同,只是目的地址在另外一个子网中。主机A仍然面临如何确定2层帧头中的目的MAC地址的问题。

如果仍然依照目的节点和源节点位于同一子网中的思路,这个目的MAC应该是主机B网卡的MAC地址。顺着这个思路走下去,看看会发生什么情况。

由于主机B位于路由器的另外一侧,因此主机B要想收到主机A发出的以太网帧必须通过路由器转发,那么路由器是否会转发呢?答案是否定的。路由器在收到某个以太网帧后首先检查其目的MAC,而这里假设A发出的帧中的目的MAC是B的网卡地址,路由器从Ethernet 0接口收到该帧后,查看目的MAC地址,发现它不是自己的MAC地址,从而将其丢弃掉。由此看来,位于不同子网的主机之间在通信时,目的MAC地址不能是目标主机的物理地址。

实际上,不同子网之间的主机通信要经过路由过程,这里就是需要路由器A进行转发。因此,主机A发现目标主机与自己不在同一个子网中时就要借助于路由器。它需要把数据帧送到路由器上,然后路由器会继续转发至目标节点。在该例中,主机A发现主机B位于不同子网时,它必须将数据帧送到路由器上,这就需要在帧头的“目的地址”字段上写入路由器接口Ethernet 0的MAC地址。因此,主机A需要通过ARP询问路由器Ethernet 0接口的MAC地址。

这里仍然是两个操作过程,一个是ARP请求;另一个是ARP应答。不过在ARP的请求帧中,目标IP地址将是路由器Ethernet 0接口的IP地址,这个地址实际上就是子网172.16.10.0/24中主机的默认网关。路由器收到ARP请求后回答自己Ethernet 0接口的MAC地址,这样主机A就获得了其默认网关的MAC地址。主机A构建完整的数据帧并将其发送给到路由器。路由器收到主机A的数据后,根据路由表的指示将从另一接口Ethernet 1把数据发送给主机B。同样,在发送前路由器也要封装2层帧头,也需要知道主机B的MAC地址,路由器也是通过ARP协议来获得B的MAC地址的。

    综合以上两种情况,主机A的完整操作过程如下:

主机A首先比较目的IP地址与自己的IP地址是否在同一子网中,如果在同一子网,则向本网发送ARP广播,获得目标IP所对应的MAC地址;如果不在同一子网,就通过ARP询问默认网关对应的MAC地址。

5.DNS的工作过程。

传统dns原理:

客户端系统先查找本地的host文件以及浏览器缓存信息,查找是否有域名对应的ip解析记录,如果有,就直接获取到ip地址,去访问这个ip地址对应的web服务器。

第二步:如果客户端本地缓存或host没有对应域名的解析揭露,那么,系统会把浏览器的解析请求,交给在客户端本地设置的dns服务器地址:local dns 解析。如果有则返回域名对应

的ip,没有的话,ldns 会负责继续请求其他的dns服务器。

第三步:ldsn会从dns系统的(.)根开始请求域名的解析,根dns服务器在全球一共有13台服务器,根下面是没有域名解析的,但是,根下面有对应的顶级域的解析记录,根会

把.org对应的dns服务器地址返回给ldns。 

第四步:ldns获取到.org 对应的dns服务器地址后,就会去顶级服务器请求域名的解析,顶级域名服务器下面也没有域名对应的解析记录,找到再下一级,如此递归下去,找到授权

dns服务器。

第七步:ldns把收到的来自授权dns服务器对应的ip解析揭露发给客户端浏览器,并且再ldns本地把域名和ip的对应解析缓存起来,以便下一次更快的返回相同解析请求的记录,至

此,这个dns解析流程就完成了 

带有cdn的dns:

1)、用户向浏览器提供要访问的域名;

2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次

对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。

3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

5)、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。

6.TCP和UDP的区别,分别有哪些应用?TCP属于哪一层?

基于连接与无连接;

对系统资源的要求(TCP较多,UDP少);

UDP程序结构较简单;

流模式与数据报模式 ;

TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

TCP:邮件,ssh远程登录,qq会话建立

UDP:qq聊天,语音电话

7.http基于哪个协议?

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议

 

Linux:

  1. 如何查看磁盘使用情况

df –h

fdisk -l

  1. 如何查看内存使用情况

cat /proc/meminfo

free -m

  1. 如何查看cpu使用情况,如果你的回答是top命令,他会追问如果要按从高到低排序呢?

top P

cat /proc/cpuinfo 显示cpu信息

vmstat

  1. Linux有哪几种文件类型?

普通文件(-)、目录文件(d)、块设备文件/二进制文件(b)、链接文件(l)、字符设备(c)、套接字文件(s)、命名管道(p)

 

5.shell的for循环的用法,有哪些关键字,举个简单的应用例子。

      

存储:

RAID的类型。

RAID0使用最少2块硬盘,在读写时,将数据分开读写到多块硬盘的方式来提高读写性能。

空间利用率:   所有硬盘空间之和

性能:          所有硬盘速度之和

冗余能力:     无

RAID1使用最少2块硬盘,在写数据时,将数据复制写到多块硬盘。读数据时,以提供冗余性。同时从多块硬盘读取数据,以提高读取性能。

空间利用率:     所有磁盘中最小的那块

性能:            读性能为所有硬盘速度之和,写性能会有所减弱

冗余能力:       只要一块硬盘正常,数据就正常

RAID5最少使用3块硬盘,RAID5与RAID0类似。读写数据的时候会将数据分布式的读写在所有硬盘上,但是在写数据的时候会对数据进行奇偶校验运算,将校验信息同时保存在硬盘上,校验信息可以进行数据恢复使用。

空间利用率:  1-1/n

性能:        读性能接近RAID0,写性能较RAID0弱一些

冗余能力:    可接受1块硬盘损坏

RAID10至少需要4块硬盘,由RDID0与RAID1结合而成,它继承了RAID0的高效快速,同时也继承了RAID1的数据安全;RAID10通常有两种结构,一种是RAID1+0结构,一种是RAID0+1结构。

空间利用率:  50%

性能:        比RAID5强

 

转载于:https://www.cnblogs.com/wq201703/p/6739751.html

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值