首先我们来看下京东对Linux运维工程师招聘岗位要求:
【岗位定义】运维工程师
【岗位薪资】10K-20K
【基本要求】北京 / 经验3-5年 / 本科及以上 / 全职
【职位描述】
1.负责私有云docker的日常维护、故障排查、性能调优;
2.负责应用系统的日常监测与维护、故障处理、性能分析与优化;
3.负责应用系统模块部署、配置、维护、备份与监测;
4.负责日常服务器维护和监控;
5.负责应用系统的相关文档编写、运维信息统计等。
【职位要求】
1.熟悉nginx、tomcat等常规软件的部署、配置、问题排查。
2.对jvm有一定了解,当java程序出现问题,可以配合研发进行相应的排查。
3.熟练使用shell/perl/python中的一种或多种进行运维程序的开发,有大型运维平台开发经验者优先。
4.熟悉网络的基础知识,熟悉TCP/IP的工作原理,快速分析网络信息,熟悉lvs、dns、haproxy、keepalive等。具有网络故障排查能力。
5.对业务的访问流程有一定了解,根据流程图可以快速分析故障,定位故障点。
京东Linux运维第一面:
1、apache2.X有几种工作模式,如何查年是工作在哪种模式下?如何查看apache当前支持的模式
2、Nginx开启列出目录功能,UPstream模块是做什么用的
3、Mysql查看表结构
4、Squid清缓存,如何查看命中率,需要调整哪些内核参数
5、Grep本目录中以数字命名的文件和以A或者B开头命名的文件
6、有一个a.txt文件,的里面所有字母都转换成大写
7、Sed打印出文中前10行、第一行、最后一行,把文中所有的abc字符转换成123
8、如何让shell程序在后台运行,退出终端不会中断
9、crontab在11月内,每天早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh
10、有a.txt文件,里面内容如下
1234569
abcABCabc
要求使用awk打印出以下结果
987654321
cbaCBAcba
11、如何查看PID为29394的进程的环境变量
12、写出查看CPU负载的命令,请考虑系统有多个CPU
13、写出查看磁盘IO、内存使用的命令集,以及你对这些命令输出的理解
14、编写一个shell,判断系统用户user001,user002,~~~user100是否存在
15、/etc/passwd文件使用awk匹配squid用户,并打印其用户ID,passwd文件格式如下:
squid1:x:500:500::/home/squid1:/bin/bash
squid2:x:500:500::/home/squid2:/bin/bash
16、有一个apache日志access.log,使用shell统计出访问量最高的前5名IP
58.240.35.69 — [04/Mar/2011:03:17:43 +0800] “GET /iphone/ HTTP/1.1” 200 819 “.” “mo cpu iphone os 4_1 like mac os x; zh-cn) AppleWebkit/532.9 (khtml,like gecko) mobile /134*****
17、请描述TCP三次握手的过程
18、Linux系统中软链接和硬链接的区别
19、写出思科交换机的端口汇聚命令
20、用你习惯的编程语言完成如下题目:有10台被监控的主机,一台监控机,在被监控机器/分区使用率大于80%,就发邮件报警
监控机IP:192.168.1.1,被监控IP:192.168.1.100-109
21、你认为运维工作最重要的工作态度是什么
小米
首先我们来看下小米招聘岗位要求:
首先我们来看下小米对Linux运维工程师招聘岗位要求:
【岗位定义】运维工程师
【岗位薪资】10K-24K
【基本要求】北京 / 经验3-5年 / 本科及以上 / 全职
【职位描述】
1、负责小米网交易系统部署、监控、可持续优化等;
2、负责小米网抢购系统运维变更、监控告警、故障排查等工作;
3、遇突发事件及时响应,跟踪与解决;
【职位要求】
1、三年以上网站运维工作经验,并在具有大型网站或大型项目工作经验;
2、熟练掌握shell,熟悉python框架,有一定的开发经验者优先;
3、熟悉主流运维工具的配置、管理、使用,如puppet/chef/saltstack;
4、熟悉Linux系统的管理和日常维护操作;
5、了解网络原理,熟悉网络相关配置;
6、具有一定的英文阅读能力
第一部分:Linux基础
题目1:有一百个图片文件,它们的地址都是
http://down.xiaomi.com/img/1.png
http://down.xiaomi.com/img/2.png
…
一直到http://down.xiaomi.com/img/100.png
批量下载这100个图片文件,并找出其中大于500KB的文件。
题目2:一个文本文件info.txt的内容如下:
aa,201
zz,502
bb,1
ee,42
每行都是按照逗号分隔,其中第二列都是数字,请对该文件按照第二列数字从大到小排列。
题目3:查看当前Linux服务器是否监听80端口,如果在监听,请找出其进程ID,并结束该进程。
题目4:使用curl或wget命令获取http服务的header信息。
题目5:
关于Linux的用户账号,下面说法正确的有:
A.用户的密码,是以明文形式存储在 /etc/passwd 文件中的
B.用户的密码,是以密文形式存储在 /etc/passwd 文件中的
C.用户的密码,是以密文形式存储在 /etc/shadow 文件中的
D.用户登录的时候,会把用户的密码明文与保存的密码做对比
题目6:
对于N块硬盘组成的硬盘阵列,下面的说法哪个是错误的:
A.raid1 与 raid5 相比,读取数据的速度 raid5 更快
B.raid1 与 raid5 相比,raid5 的磁盘空间利用率更高
C.raid1 在 (N-1)块磁盘损坏的情况下,不影响数据的完整性
D.raid0 相比于raid1、raid5,读写速度最快
题目7:
负载均衡,你了解的常用软件有哪些?请写出至少三种以上,并评价各自的缺点。
题目8:
执行 $ time sleep 2,输出如下:
real 0m2.003s
user 0m0.004s
sys 0m0.000s
请说明 real、user、sys三者具体代表的意思和区别。
题目9:
nginx rewrite 规则中 last、break、redirect、permanent 的含义。
题目10:
WEB 服务 cookies 和 session 的区别。
题目11:
http 1.0 和 http 1.1下有何区别?http 2.0的主要变化或优势有哪些?
第二部分:安全部分
题目12:
请列举WEB常见安全问题(不少于三项),阐述其原理、危害。
题目13:
请列举常见DOS攻击类型,并分别介绍其原理和防御方法。
题目14:
服务器遭到入侵,作为安全管理人员,你应做如何处理?
第三部分:网络部分
题目15:请简述TCP的三次握手过程。
题目16:发现系统中存在大量TIME_WAIT,分析原因并提出三条以上优化建议。
第四部分:Python部分
题目17:xrange和range的异同。
题目18:列表 A 和 B,使用Python快速获取 A 和 B 中的共有元素。
题目19:有20台服务器,需要在所有机器上 echo “123”,要求同时并行操作5台服务器,请使用Python或shell写出相关代码。
今日头条
首先我们来看下今日头条招聘岗位要求:
首先我们来看下今日头条对Linux运维工程师招聘岗位要求:
【岗位定义】系统运维工程师
【岗位薪资】10K-24K
【基本要求】北京 / 经验3-5年 / 本科及以上 / 全职
【职位描述】
1、负责业务系统日常运行维护,线上故障紧急处理;
2、监控平台的搭建与维护,报警问题处理;
3、负责业务系统的搭建配置及日常管理,有oracle ebs运维经验优先;
4、配合DBA,负责业务系统环境(正式、开发、测试)搭建(应用和数据库),日常变更部署上线(应用及数据库);
5、结合部门需求,规划和管理服务器资源;
6、分析系统及应用程序的性能问题,建议优化方案;
【职位要求】
1、本科及以上学历,3年以上的Linux系统使用和管理经验;
2、熟悉 Linux 操作系统原理、TCP/IP 以及常用RPC协议;
3、熟悉Bash/Python等脚本语言的一种并有相关开发经验;
4、熟悉shell&perl编程,能使用脚本编写工具提升工作效率;
5、熟悉Docker、Kubernetes等开源软件;
6、熟悉常见应用配置及优化,如Nginx/Haproxy/MySQL/DNS/Redis等;
7、熟悉常用的监控系统,如 Zabbix、Nagios 和 Ganglia 等;
8、熟悉业务系统(Java)的打包编译上线部署工作;
9、良好的团队协作能力,积极主动,乐于接受挑战,能应对突发应急情况;
1.问项目,cmdb怎么架构的,agent怎么写的。
2.tcp/ip为什么要三次握手。
3.python中装饰器和闭包。
4.用python做过什么其他的项目。
5.介绍dns的原理。
6.了解lvs吗。
7.查看linux磁盘io的命令有哪些。
8.saltstack中master和minion间通过什么通信。
新浪
首先我们来看下新浪对Linux运维工程师招聘岗位要求:
【岗位定义】运维工程师
【岗位薪资】10K-20K
【基本要求】经验1-3年 / 本科及以上 / 全职
【职位描述】
1、负责服务器和应用的监控和应急反应,需要值夜班以确保有7*24小时的持续运作能力;
2、负责设计并部署相关应用平台,并提出平台的实施、运行报告;
3、负责相关故障、疑难问题排查处理,编制汇总故障、问题,定期提交汇总报告;
4、负责日常系统维护及监控,提供IT软硬件方面的服务和支持,保证系统的稳定。
【职位要求】
1、熟悉Linux和WindowsServer操作系统及相关运维技术;
2、熟悉数据传输(如kafka、scribe等)及存储(hdfs、ceph、mfs等)相关技术,并有实际运维经验;
3、了解服务器虚拟化技术(kvm、docker),实际管理运维过服务器虚拟化高可用集群;
4、了解MySQL、SQLServer等主流数据库,并有实际运维经验;
5、有脚本开发工作经验优先(shell、python、perl、php,能有其他更好);
6、两年以上中型规模系统运维经验,思维敏捷、故障诊断及独立处理能力强。
一 基础知识
1 请写出一下命令执行的结果
bash$ echo “sinaops” | read a ; echo $a
bash$ echo “sinaops” | while read a ;do echo $a ;done
2 什么是linux的daemon进程?和一般进程有什么区别?
3 通过free命令查看内存是,看到的buffer和cache各表示什么含义?
4 使用ln -s 和mv 对某一个文件做如下操作时(bash$ ln -s /usr/afile /etc/bfile bash$ mv /etc/afile /etc/bfile )对inode和block有哪些影响?
5 apache和nginx这两个web服务器有哪些区别?
6请例句你使用过的集群软件?
二 网络技术
1 描述tcp三次握手的过程
2 请说明一下http协议中的keeplive是做什么的?它的适应场景是什么?
3请解释一下以下response header各行的含义?
Date
Tue,22Feb 2011 04:37:45 GMT
Server
Apache
Last-Modified
Thu,04 Nov 2010 04;12:24 GMT
Etag
“9fc-10c-82-5d73fa00”
Content-Length 130
Cache-Control max-age-2592000
Expires
Thu,24 Mar 2011 04:37:45 GMT
Age
21190
X-Cache
HIT from 86-74.ul.sinaimg.cn
Via
1.0.86-74.ul.sinaimg.cn:80(squid/2.6.STABLE21)
Connection
keep-alive
4 请解释session和cookie的实现原理和区别
5 将lvs配置为DR方式,发现无法正常工作,经测试直接访问realserver可以提供服务,请问用何种方法定位lvs问题
6 一下内核参数的含义
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
vm.swappiness=0
7 如何发现linux系统是否出现性能瓶颈?请例举出你常用的监控命令以及参数
三 开发能力
1 尽可能多的用不同语言打印“hello sina”(可以用任意语言实现)
2 bash shell 里$0.$?.$$各表示什么含义
3 用任意脚本统计主机tcp连接数并按照连接状态分类
4有一文件如下格式,请提取”.sina.com.cn”前面的主机名部分并写入到回到该文件中
bash$cat ip_list.txt
1 test.sina.com.cn
2 www.sina.com.cn
…
999 z.sina.com.cn
5 同一时间脚本只能运行一个实例(可以用任意语言实现)
6 计算出从你生日之日起到今天一共过了多少天?(可以用除shell之外任意语言实现)
7 写出一段程序,用于判断一段字符串是否是回文。(可以用除shell之外任意语言实现)
8 有一文件记录了1-100000之间随机的整数共5000个,存储的格式100,50,35,89…请取出其中最大和最小的整数。(可以用除shell之外任意语言实现)
网易
首先我们来看下网易Linux运维工程师招聘岗位要求:
【岗位定义】高级系统工程师(应用运维)
【岗位薪资】15K-25K
【职位描述】
1. 负责公司运维体系的建设,组织在线移动APP和业务系统以及自建私有云的监控、维护,推进自动化运维;
2. 建立和完善公司的运维监控体系和事件处理机制,确保业务的稳定运行;
3. 配合产品开发组进行应用和服务的部署、测试、调优、运营等工作,并针对产品运行情况给出调整建议;
4. 整理各类运维文档,沉淀经验。
【职位要求】
1. 重点本科及以上学历,2年以上互联网公司Linux运维相关经验;
2. 精通zabbix监控系统的搭建和维护,能够开发自定义脚本;
3. 熟悉Nginx/Apache/Tomcat等Web应用服务器部署、优化;
4. 熟练使用shell,perl等脚本语言并具备一定的开发能力,能够使用python等语言进行简单的运维工具及页面开发;
5. 熟练自动化配置工具,如febric、saltstack等;
6. 熟练使用相关工具进行网络故障诊断,熟悉iptables,vpn等网络工具;
7. 有虚拟化环境、公有云平台使用经验优先。
下面是网易Linux运维工程师面试真题:
1.SDRAM、DDR2、DDR3…
答:
1、(Synchronous Dynamic Random Access Memory)同步动态随机存储器。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输。
2、(Double Data Rate)双倍速率同步动态随机存储器。DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一
次数据。
DDR2(Double Data Rate 2)。它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方
式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据预读取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据
,并且能够以内部控制总线4倍的速度运行。
而DDR3的预取为8bit,所以突发传输周期(Burst Length,BL)也固定为8。
2.下列哪个命令不能退出vi编辑器::x,:q,:q!,:bye
答:最后一个,即:bye
:x(写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。)
:q(普通退出,如果有写入操作,则提示)
:q!(强制退出,如果有写入操作,则不会保存)
3.下列哪种协议既有TCP又有UDP的:telnet,SMTP,DNS…
答:telnet (TCP)
SMTP(TCP)
DNS(tcp/udp)
DNS一般使用UDP,DNS的主辅名字服务器在同步时使用TCP协议
4.到相同目的地有下面几条路由,静态、RIP、OSPF,问数据包会经过哪一条。
答:默认使用出站接口配置的静态路由和使用下一跳地址配置的静态路由的AD为1,所以选静态。
附:
路由源 默认AD
连接接口 0
静态路由 1
EIGRP 90
IGRP 100
OSPF 110
RIP 120
External EIGRP 170
未知 255(这个路由将绝不会被使用)
二、填空题
1.SAN的中文名称是_存储域网络(Storage Area Network)_______;NAS的中文名称是___网络存储设备(NAS:Network Attached Storage).
2.写出除linux外的三种类Unix系统__Solaris____、__FreeBSD_____、_AIX______.
3.假如有3个文档…………,用一个最简单的命令将其合并为一个文档___cat file1.out file2.out file3.out > file4.out ______.
4.字符串的匹配,c[?]c
答:该题目应该是没有出完整,大括号内为任意字符
5.某IP地址192.168.48.10,掩码为255.255.255.128,其所在的子网为__192.168.48.0________,广播
地址为______192.168.48.127________,有效的主机IP地址范围从______192.168.48.1_________到___192.168.48.126_____________.
6.查看TCP连接的命令____netstat______.
7.在OSI模型中,HTTP协议工作在第__7__层,交换机工作在第_1-2___层。(此题不够严谨,个人认为后面填2层,1-2层都不能算错)
8.写出一些成熟的虚拟机技术____VMWare、__XEN、Bochs______________。(个人认为填写的越多,越能证明你的知识面广,加感情分)
三、简答题
1.32位操作系统和64位操作系统的区别,并说明它们的优点和缺点。
答:优点:可以进行更大范围的整数运算;可以支持更大的内存。如支持更多的可寻址空间大于4GB。支持更大的虚拟内存16TB,支持更多的页面文件
512TB,支持更多的系统缓存1TB。支持更高的颜色质量(2的64次方)
缺点:缺点是向下兼容性差、支持硬件驱动较少。支持应用程序较少。需要硬件支持。
2.固态硬盘和传统硬盘有什么区别,并说明它们的优点和缺点。
答:有点:抗震性强,机械故障点小。噪声小。发热量小,体积小。读写速度快。
缺点:容量小,价格贵。数据恢复能力差。
3.多核CPU和单核CPU的优点和缺点,是否所有程序在多核CPU上运行速度都快?为什么?
答:不是。
由单核处理器增加到多核处理器,如果主频不变的话,IPC(每个时钟周期内执行的指令数)理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。但是有些程序只能在单核下运行。
4.给你6个150G硬盘,列出RAID排列方式,哪种方式容量最大,并解释。
答:6块硬盘全部利用无法做出RAID01个阵列。最大只能做RAID0 :容量150*4
raid5:容量150*(6-1)
raid0+1:容量150*(6/2)
所以答案是RAID5
5.有一web服务器,某天某用户投诉上某个网站速度很慢,如果你是服务器的管理员,请问
你如何查找原因。假设服务器有任意操作系统和软件。
答:1、首先检测服务器状态,排除硬件故障和系统故障 排除机器故障
2、检查底层网络状态(包括互联情况,PING包延迟、流量情况)排除网络故障和网卡等设备故障。
3、检查WEB服务器软件运行情况(并发连接、服务软件配置情况、数据库连接情况等)排除应用服务故障。
6.如下图,A、B、C位于同一局域网内,IP地址、子网掩码、默认网关如图所示,有路由器
R1、R2、R3、R4,它们之前运行某种路由协议,S为另一局域网内的服务器。
(无法显示图)
(1)如果C被ARP病毒感染,对A、B会有什么影响?
答:无图,分析考虑的是ARP原理。
(2)B无法连到服务器S,但A、C均能正常连接到S,且B到R1连接正常,请判断故障出在什
么地方,操作系统可以是任意的。
答:考察节点故障排除。
(3)如果R4连到Internet,Internet上的用户想访问服务器S,需要用到什么技术?并解
释此技术的原理。
答:考察NAT和VPN等技术。
四、编程题 (答案未完成)
1.某程序每隔5分钟运行一次,得出一个运行结果,保存在文档中,格式为
2008-06-01 00:05:00 1120
(1)在每天的23点56分访问文档,将当天的运行结果保存至文档,
[如:/…./…../20080601]
(2)统计出每天运行结果的总和。
设计一套方案,并编程来实现。
2.运动会,(人,成绩)
保存格式为每行一个成绩,第一列为人名,第二列为成绩。如Jim 24
(1)
(2)
(3)统计每个人的平均成绩(平均成绩=总分/参加项目总数),并按平均成绩由高到低排列。
五、推理题
1.在太平洋一岛上住着土人,他们不喜欢外人来打扰。有一天一位探险家来到了岛上,被土人抓住,土人的祭司告诉探险家,他在临死之前有机会留下一句话,如果这句话是真的,他将被烧死,如果这句话是假的,他将被五马分尸,可怜的探险家如何才能活下来?并解释。
答:我将被五马分尸
如果是真话,游客将被烧死,而不会被五马分尸,因此游客所说为假话!矛盾!
如果是假话,游客将被五马分尸,的确如他所说,因此游客所说为真话!矛盾!
这样,无法断定游客所说是真是假!岛上人也就无法执行他们的规则!
六、论述题
1.以下几种情况,那些是最无法预期的?哪些是可以避免的?你会如何面对?
(1)老板把你叫进办公室,让你负责一个新项目,并提醒你接下来几个星期将会非常忙碌。
答:无法预期。但是有计划的安排好目前手头的工作,并接受新项目是对自己的一个 考验。
(2)一朋友给你发了一封电子邮件,介绍一个网站很有用,你花了几分钟时间去浏览网站。
答:可以避免。在浏览之前搞明白这个网站究竟值得花一些时间去看。
(3)某客户打电话过来,要你赶紧去他们公司。
答:可以避免。如果是可以通过网络完成的工作,干嘛非要跑过去。
(4)老板要你在下班前完成某些任务。
答:无法预期。尽量去完成,如果实在无法完成,则要向领导隐晦的说明原因,争取他的理解。
(5)你必须立即放下手头工作,去买纸杯,因为发现纸杯已经用完了,而且10分钟后的会议会用到。
答:可以避免。对一些消耗品可以适当的准备一些,不要让这些烦琐的工作打断手头更重要的工作。
2.你认为一个出色的游戏运营维护工程师必须具备的关键素质有哪些?并按从主到次的顺序解释。
答:1、主动乐观、积极的态度
2、细心和抗压力
3、丰富的知识面和超强的沟通能力
4、时刻冷静的头脑
5、正直