蚂蚁金服运维面试全纪录

早上接到蚂蚁金服的运维面试电话,有点突然袭击,下面是整个的面试记录。

首先,面试官先向我讲述了一下他们平时运维的工作内容,然后结合我的简历开始提问。

1)都用过我们的什么产品?
这一阶段老老实实、正常回答工作中所用到的阿里云产品和使用情景。

2)VPC网络有哪些好处?
我就答出来更加安全…面试官说其他方面呢,我就不知道了。
【事后补充】VPC网路的灵活性更高,可以自由定义网段划分、IP地址和路由网络。

3)一个vpc的服务器如何与外网交互?
我说可以改写路由或者通过iptables转发。

4)iptables里PREROUTING和POSTROUTING都是啥?
PREROUTING处理刚到达本机并在路由转发前的数据包;POSTROUTING处理即将离开本机的数据包。

5)问:RDS在什么操作下会CPU飙升,任举一例?
答:在我实际工作中,比较明显的是在数据同步的时候会飙升。

6)RDS为什么会在DTS的时候有飙升的现象?
这个我答的不好,有点东拉西扯…(尴尬)

7)mysql备份的时候使用过什么参数?
答:--skip-opt 防止运行中的MYSQL锁库
加速数据备份的参数是什么?
-q 提高导出性能
-e 提高导入性能,使用包括几个VALUES列表的多行INSERT语法;
--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
--net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达到net_buffer_length的行;

注意!max_allowed_packetnet_buffer_length在mysql里有参数值,不能超过参数值!
查看方法:show variables like 'max_allowed_packet';

8)cache和buffer有什么区别?
cache是缓存,弥补高速设备与低速设备的鸿沟引入的中间层,达到数据快取的目的(救火车与蓄水池);
buffer是缓冲区,用户流量整形,把大量的小的io整理一个平稳的大io,减少磁盘响应次数;
buffer是即将要写入磁盘的,cache是要被从磁盘里读出来的。当然这只是普通用途,buffer用来读、cache用来写也是有可能的。具体问题具体分析。

9)他俩的调用有什么区别?
我问是要说“块读取”什么的么,面试官说是。我就蒙说cache是块读取,buffer我不清楚…(尴尬 again)
【事后补充】

10)谈一谈time_wait和close_wait,各自在什么情况下出现?
time_waitclose_wait是出现在“四次挥手”的环节里,time_wait是服务器接收到客户端发来的断开TCP连接的请求,并且服务器发送确认断开的包给客户端,此时服务器处于time_wait状态,如果服务器等待两个msl的话,就会默认断开连接,如果想修改msl可以通过修改/etc/systl.conf文件;
close_wait是客户端已经发送了断开TCP请求,但是服务器端没有接收到,也就是time_wait的上一步,此时这个资源就一直被程序霸占。

11)为什么time_wait需要等待两个msl?1.99行不行?2.01行不行?
我当时说防止上一次连接中的包,迷路后重新出现,影响新连接。面试官好像觉得不是很满意…(尴尬 again)
【事后补充】MSL是指一个片段在网络中的最大存活时间,2MSL是一个发送和一个回复所需的最大时间,如果直到2MSL,客户端都没有收到fin包,那么客户端就可以断定他发出去的ack已经被服务端接收,结束TCP连接。

12)说出一个你使用过的python库。
我说我前两天用matpoltlib画图,就谈了谈这个画图的库。

13)python装饰器了解么?
没什么深入的了解,就没敢答,怕被问死。

14)僵尸进程和孤儿进程,了解么?
马蛋,这个让我给说反了…(闹心啊啊啊啊啊啊啊)
【事后补充】孤儿进程:父进程退出,而它的一个或者多个子进程还在运行,这些子进程就叫孤儿进程,孤儿进程被init进程收养,由init进程对它们完成状态收集工作;
僵尸进程:一个进程用fork创建了子进程,然后这个子进程退出了,而父进程并没有调用wait或者waitpid去获取子进程的状态信息,那么这个子进程的进程描述符还在系统中,这种进程叫僵尸进程;

孤儿进程不怕,由于孤儿虽然没有父母,但是有民政局(init进程)收养,孤儿进程退出后也有init做一切善后工作;而僵尸进程会一直霸占其PID号,但是系统总共的PID是有限的,这样就会让可用的PID越来越少,所以僵尸进程是要避免的。

-------------This article is over!Thanks for reading!-------------
感谢您请我喝咖啡!(o´ω`o)
0%