NoOps

Ops make no ops | Ops的目标是没有Ops,嗯!

2014 小米运维部校招笔试题 卷A

作者: |   4,701 浏览  | 

一、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)时响应速度非常慢,请简述你的优化方案。

12 Comments

  1. 2013/11/01 at 12:40 上午

    6)编码实现一个简单的http server,至少支持GET请求解析和响应,编程语言不限
    ———————————–
    #!/usr/bin/env python
    import SimpleHTTPServer as httpd
    httpd.test()

    这样算不 哈哈

    • wilbur
      2013/11/01 at 11:48 上午

      算,呵呵。想办法偷懒,具备troubleshooting的能力,对于运维工程师来说很重要:)
      公开考题的目的很简单,让应届学生知道运维所涉及的知识面,以及需要掌握的工具/技能。

    • Terry Zheng
      2013/11/15 at 9:43 上午

      Ruby 版本的:
      Shell# ruby -run -e httpd . -p 8080

    • 2014/06/12 at 5:07 下午

      python -m SimpleHTTPServer -p 8080就可以了

  2. qqren
    2013/11/06 at 11:48 上午

    应届生能把这些题目做好的, 应该不多吧

    • siyu
      2013/11/06 at 11:56 上午

      我们其实还是主要看答题的思维逻辑
      而且现在一些已经签过4大的同学也愿意毁约选择我们

  3. Terry Zheng
    2013/11/15 at 9:44 上午

    网络管理员告诉我们这台服务器使用10.0.0.128/26段中的第一个地址,网关是这段地址中的最后一个地址。请列出机器的IP地址、子网掩码和网关。

    请教一下,网关怎么计算?

    • siyu
      2013/11/15 at 10:47 上午

      这题出的有点bug,我有点想当然的认为网关就是最后一个可用地址了。。。:(

    • mtao
      2014/07/14 at 5:45 下午

      很诧然,干这行几年了,也出过运维笔试题,但是让面试者算网关地址我还是第一次见!

  4. jk409
    2014/11/08 at 4:39 下午

    2.2
    10.0.0.128/26
    2**2=4
    2**(8-2)-2=62
    255-(2**7+2**6)
    得出:iP范围,和 子网掩码
    10.0.0.129-192 255.255.255.191

  5. 杨灿
    2014/12/10 at 10:32 上午

    第一题:netstat -ntpl|tr -s ” “|awk -F’[:/ ]‘ ‘{if($9==100)print $5}’
    第二题:find /home/work/log -type f -mtime +3 -exec mv {} /home/work/log/backup \;
    第四题:tcpdump -i eth1 src host 127.10.32.5 and dst port 8080

  6. Arnold
    2015/03/16 at 3:23 下午

    校招就已经是这样的题了,社招又如何?

发表评论