360运维OPS实习生笔试题目

Hi,同学 

我是360搜索的HR,烦请在一周内回复我。奇虎360期待您的加入!

 另外,编码时,烦请在google或github等开业项目托管平台上创建一个svn或者git仓库,

将您完成的项目地址发给我们,这样您开发过程中也有版本管理,我们也能完全看到您的开发过程,以便您向我们展示您的真实技术实力。

感谢您对奇虎360的支持与信赖!

以下是高级运维开发软件工程师的一套笔试题,希望您能耐心完成。如有问题,随时联系,谢谢!


下面题目分为基础题(1-4)、应用题(5-10)、附加题。
基础题选2、3个,应用题可以选1、2个题目。附加题有能力者可以尝试做一下。

以下题目中涉及代码的首先保证代码的正确性,在正确的情况下让它尽量的简洁。能够达到简洁的情况下才去考虑它的高效(附加题除外,vssh尽量的高效)。
代码可以用perl 、python等脚本语言编写(建议用perl)


基础题:

1. password_***:
运维操作在很多情况下需要访问不同的服务器,运维人员可能会频繁的输入自己的账号和密码。
是否可以通过一个简单方式只需要输入一遍密码,然后余下的操作都可以不再重复的输入密码。
密码应该存储在什么地方会比较隐蔽,让有这台机器sudo权限的其他人看不到。(可以不写代码,回答便可)

2.ifconfig_reg:
解析ifconfig命令的标准输出,返回一个hash。key是网卡名称 value是对应的ip。

3.cron_ctrl:
在一些环境中我们会用到crontab来做定时任务,但是有些情况下我们会暂时的关闭某个定时任务。
能不能有这样一个操作界面方便的操作这些任务:

./cron_ctrl jobname1 --stop ;./cron_ctrl jobname1 --start;./cron_ctrl jobname1 --list;
编写一个工具来实现它。


4.log_cutting:
日志切割,有这样一个access.log每天会打出大量的日志。实现一个日志切割的功能,并说明该实现方式会有什么缺陷。


应用题:

5.socks_proxy:
假设您有一个远端服务器可以通过ssh登录,在你的本地电脑上实现一个简单的socks***服务,可以在断网或重起的情况下重新建立连接。(提示:ssh tunnel)

6.sysinfo_recorder :
写一个本地服务,定时的搜集系统的cpu使用情况并记录下来。

需要考虑到cup的使用情况包括哪项信息,用什么方式存储数据(记录文件的大小不能一直增长,记录的数据易于展示)。

7.agent:
实现一个被控程序,连接对应的端口便可以对被控端输送命令。

这是一个可以重复调用的服务,不能把bash的io直接绑到tcp上。命令运行完后命令的输出应该能返回到控制机的STDOUT。(考察tcp,多线程等)


8.dancer:
用perl中的web框架dancer实现一个简单的功能。在web端能展示一个table,table有两列,分别是你指定的一个目录下面的文件的时间和文件名。

需要考虑把获取数据和展示分离,不要直接print这个table的整个html字符串。


9.group:
实现一个树形结构的存取,编写一个类,这个类里面最少应有两个方法 add和get。

add(k,v):
   k:是父节点,v是子节点。
my @nember = get( k ):
    通过父节点返回这个父节点下的所以的叶子节点。

10.guide:
编写一个服务,用于查询之前定义好的信息。如在服务器端定义了foo=2014 那么客户端可以通过foo得到2014这个数据。


附加题:
11.vssh:在对单台机器做操作时我们经常会用“ssh ip”的方式登录到一台服务器上,能不能编写这样一个工具vssh ip1,ip2,...ipn来模拟登录到n台服务器,
登录后所有操作相当于同时对n台服务器生效。

12. mrsync:

从一组机器把数据拷贝到另一组机器上。

为了尽量让拷贝的过程发生在一个交换机或者机房内,拷贝的时候源ip和目标ip尽量的相近(如: 10.1.1.1 和 10.1.1.2相近)。

拷贝的目标机器和源机器可能有坏的情况,拷贝过程中有错误的机器就放弃(拷贝函数出错会有一个错误的返回码)。

描述一个算法,怎样可以尽量的让拷贝发生在相近的ip上,又能大量的并发(已经有数据的机器都可以作为源机器)。

(尽量不要跨机房拷贝,ip在分配的时候不同机房相差会比较大,如A机房是10.1.x.x B机房是10.9.x.x)


另外,您编码时,在google或github等开业项目托管平台上创建一个svn或者git仓库,
将您完成的项目地址发给我们,这样您开发过程中也有版本管理,我们也能完全看到您的开发过程,以便您向我们展示您的真实技术实力。

全部评论
占楼,占楼,准备入手~
点赞 回复 分享
发布于 2016-05-17 19:56
发送邮箱为:minxinlin@360.cn 
点赞 回复 分享
发布于 2016-05-17 19:57
很强势
点赞 回复 分享
发布于 2016-05-19 13:20
这个有没有比较好的参考啊
点赞 回复 分享
发布于 2016-09-28 09:01
求最后一道题的思路
点赞 回复 分享
发布于 2016-09-28 14:53

相关推荐

评论
点赞
17
分享
牛客网
牛客企业服务