Hi,同学
感谢您对奇虎360的支持与信赖!
以下是高级运维开发软件工程师的一套笔试题,希望您能耐心完成。如有问题, 随时联系,谢谢! 下面题目分为基础题(1-4)、应用题(5-10)、附加题。
基础题选2、3个,应用题可以选1、2个题目。附加题有能力者可以尝试做一下。
以下题目中涉及代码的首先保证代码的正确性, 在正确的情况下让它尽量的简洁。
能够达到简洁的情况下才去考虑它的高效(附加题除外, vssh尽量的高效)。
代码可以用perl 、python等脚本语言编写(建议用perl ) 基础题:
1. password_cache:
运维操作在征多情况下需要访问不同的服务器, 运维人员可能会频繁的输入自己 的账号和密码。
是否可以通过一个简单方式只需要输入一遍密码, 然后余下的操作都可以不再重
复的输入密码。
密码应该存储在什么地方会比较隐蔽,让有这台机器sudo权限的其他人看不到。 (可以不写代码,回答便可)
:
解析ifconfig 命令的标准输出,返回一个 hash。key是网卡名称value是对应
的ip。
:
在一些环境中我们会用到crontab来做定时任务,但是有些情况下我们会暂时的 关闭某个定时任务。
能不能有这样一个操作界面方便的操作这些任务:
./cron_ctrl jobname1 --stop ;./cron_ctrl jobname1 --start;./cron_ctrl
jobname1 --list;
编写一个工具来实现它。
日志切割,。实现一个日志切割
的功能,并说明该实现方式会有什么缺陷。
应用题:
:
假设您「一个远端服务器可以通过 ssh登录,在你的本地电脑上实现一个简单的 socks代理服务,可以在断网或重起的情况下重新建立连接。(提示:ssh tunnel )
:
写一个本讪服务,定时的搜集系统的 cpu使用情况并记录下来。
需要考虑到cup的使用情况包括哪项信息,用什么方式存储数据(记录文件的大
小不能一直增长,记录的数据易于展示)。
.agent :
实现一个被控程序,连接对应的端口便可以对被控端输送命令。
这是一个可以重复调用的服务,不能把bash的io直接绑到tcp上。命令运行完
后命令的输出应该能返回到控制机的 STDOUT (考察tcp ,多线程等)
.dancer :
用perl中的web框架dancer实现一个简单的功能。在web端能展示一个table , table有两列,分别是你指定的一个目录下面的文件的时间和文件名。
需要考虑把获取数据和展示分离,不要直接 print这个table的整个html字符
用。
.group :
实现一个树形结构的存取,编写一个类,这个类里面最少应有两个方法 add和
get。
add (k,v ):
k:是父节点,v是子节点。
my ***@nember = get( k )
通过父节点返回这个父节点下的所以的叶子节点
.guide
OPS实习生笔试题目 来自淘豆网www.taodocs.com转载请标明出处.