2014 小米运维部校招笔试题 卷A
原文来自http://noops.me/?p=1154,对linux有兴趣的不妨试试看?这个月不知道更什么用这个代替吧╮( ̄▽ ̄")╭
一、linux基础
1)linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令?
2)如何查找在/home/work/log/路径下,修改时间在3天以前的文件,并将这些文件mv到/home/work/log/backup下?
3)操作系统中,父进程需要传输一份1KB的数据给子进程,有几种方法可以实现?并请给出一种方法的代码实现(语言不限)?
4)需要抓取eth1网卡上从127.10.32.5发到本机8080端口的数据包,请列举你能想到的工具或者方法?并给出一个具体的方法的实现(详细命令或者代码)?
二、系统/网络
给一台服务器安装linux操作系统,请回答在安装和使用过程中遇到的一些问题:
1)服务器有6块600G的SAS磁盘,通过阵列卡做RAID5,请问实际操作系统可使用的空间是多大?
2)网络管理员告诉我们这台服务器使用10.0.0.128/26段中的第一个地址,网关是这段地址中的最后一个地址。请列出机器的IP地址、子网掩码和网关。
3)服务器交付业务方使用后,使用netstat命令发现有大量的time_wait连接,请简述time_wait连接存在的原因。
4)简述TCP建立连接的过程;运维中经常nmap进行端口扫描,描述nmap进行TCP扫描的原理。
5)Zmap是一个号称44分钟可以扫遍全球公网机器端口。结合TCP三次握手原理和系统编程知识,简述类似产品的设计思想,并尝试描述你的实现。
三、开发/安全
1)http keep-alive的作用是什么,有什么优缺点?
2)简述cookie的作用,以及http cookie和session的区别和联系
3)对于cookie劫持攻击,给出至少两种防御方案
4)xss攻击中,给出一个窃取用户浏览器cookie的xss-payload
5)xss问题产生的本质是什么,并阐述防御方案
6)编码实现一个简单的http server,至少支持GET请求解析和响应,编程语言不限
四、数据库
某消费系统中包含2张表,用户信息表和消费流水表,结构和数据如下:
用户表:user
ID
(自增主键) |
NAME
(非空) |
Balance
(非空) |
1 | A | 19.50 |
2 | A | 20.50 |
3 | B | 100.00 |
4 | C | 200.00 |
流水表:charge
ID
(自增主键) |
User_id
(非空) |
FEE
(非空) |
Update_date |
1 | 1 | 11.00 | 2013-10-01 |
2 | 2 | 21.00 | 2013-10-05 |
3 | 3 | 31.00 | 2013-10-06 |
1)请按要求写出上面两张表的建表sql语句;
2)请分别写出下面两组sql语句的输出结果;
Delete from user;
Insert into user value (‘’, ‘D’, 300);
Truncate user;
Insert into user value (‘’, ‘D’, 300);
3)请写出能产生下面查询结果的SQL语句:
Name | Count | Balance
|
FEE |
A | 2 | 40.00 | 32.00 |
B | 1 | 100.00 | 31.00 |
C | 1 | 250.00 | 0.00 |
4)系统运行一段时间后,流水表的记录变得非常大,通过用户名(NAME)查询用户消费记录(FEE)时响应速度非常慢,请简述你的优化方案。
全是linux的,windows+iis的表示坑了(反正已经坑硬件的打死不做运维了
1.netstat -aon|findstr “100”(windows下是这串,linux不清楚)
2.find /home/work/log/ -mtime +3 -print
find /home/work/log/ -mtime +3 -exec mv {} /home/work/log/backup \;
3.优先推荐管道,或进程间共享内存,进程间通信就免了,代码按惯例不写只给范例 http://blog.csdn.net/wangyangkobe/article/details/6112817
4. tcpdump和wireshark(代码自己google
2.1 理论可用大小 600*(6-1) (还不够猴子下片
2.2 10.0.0.129 255.255.255.192 10.0.0.190
2.3 某墙常干的,让握手包丢掉(服务器在等待客户端的响应
剩下的没空了,不看
菊苣QAQ
这些题说难不难,就是做不出来!