Press "Enter" to skip to content

国内一线IT公司运维工程师试题

最近面试了许多公司的运维工程师岗位,博主再一次深深感受到了Linux就业者的难处。Linux这个东西牵扯的方面太多了,而大部分公司只能用到其中的某一两个方面,假设你没有涉及过这一两个方面的话,那么就只能over了,所以Linux从业者的路其实比较窄。
去A公司面试,会问你云计算,虚拟化方面的问题,
去B公司面试,会问你RAID、IPMI方面的问题,
去C公司面试,会问你Shell、Python方面的问题,
去D公司面试,会问你kernel、编译方面的问题……
去E公司面试,会问你Hadoop、MapReduce方面的问题……

这一两个月来,面试过大大小小不下数十家IT公司了,其中不乏一些国内顶尖的互联网公司(如百度等),下面列举一些曾经把我难倒的问题。这些问题里,有的我已经知道答案,有的至今无解。想走Linux运维工程师的你,不妨也来试试吧。

需要说明的是,本篇博文的标题是“国内一线IT公司运维工程师试题”,因此下面列出的这些都是我认为有些深度的题目,而实际上在面试的过程中,有些不太知名的公司,题目会简单许多,例如写一些简单的Shell脚本,描述一下Linux的启动过程等,这些问题我都没有列出来。。

假设有某日志文件:
08:35:04 1 98.35.12.254 visited some thing.
10:20:09 6 199.198.25.4 visited some thing.
12:05:25 8 35.27.8.16 visited some thing.
……
16:30:55 3 128.99.33.64 visited some thing.
已知第一列是时间,第二列是随机的数字,第三列是客户端IP,第四列是一些文字。

1,请筛选出下午14:00以后,访问最频繁(访问次数最多)的三个客户端IP,可以写脚本实现;(百度,蓝汛)

2,请计算该日志文件中第一列的所有数字相加以后的数值。(风行)

du -s *C1* | awk '{sum+=$1} END{print sum/1000/1000}'

3,假设某客户从浏览器打开www.baidu.com并敲回车以后,该客户的数据包会先后经过哪些(网络)协议?(百度)
(对方特意作了“提示”:面试了几百个人,从没有一个人说到ARP协议……)

4,批量给几百台机器装系统用什么工具?描述kickstart的原理。(百度)
(并不是简单提到DHCP、TFTP、PXE,对方就能满足的……)

5,简述DHCP四次握手过程。(百度)

6,假设系统里有两个进程访问了同一块tmpfs空间,怎么计算每一个进程各占用了多少tmpfs空间?(百度)

7,你用过OpenStack吗?说说OpenStack的原理,简述Iaas、Paas的区别。(软通动力、文思海辉)

8,你用过什么自动化运维工具?假设你没有用过自动化运维工具,如果突然让你给几百台机器装一些软件,你怎么办?(360)
(我的回答是没用过自动化运维工具,但我会写Shell脚本循环登陆机器去执行,于是对方又抛出一个问题,这样速度很慢,假设让你20分钟内给500台机器装软件,怎么能保证效率?)

9,请用Python写一个简单的Socket(知道创宇)。
(这个还算好的,有个叫“云基地”的奇葩公司,面试的是运维工程师的职位,拿了一份清一色的python编程题来做)

10,描述一下Shell脚本中以下命令的用途:xargs、tr等,这条命令的输出结果是什么:echo “AbCdEf” | tr -d a-c

未完待补充。

3 Comments

  1. lovvvve 2014-10-23

    都是些基础的东西…不算难
    还有 DNS 三次握手第一次听说…

    • bear 2014-10-23

      所有的问题都可以在网络上找到答案。但面试时基本都是面对面的,如果在面对面的提问时,你可以不查资料就回答上所有问题,那你可以去百度面试了。。

Leave a Reply

Your email address will not be published. Required fields are marked *