码迷,mamicode.com
首页 > 数据库 > 详细

cmdb面试题

时间:2020-03-28 17:44:30      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:开放   用户   解决   web   返回   cmdb   信息   发送   请求   

CMDB的面试题

1、CMDB的架构是啥?

  • agent方案
"""
	将采集的脚本放置在每一台待采集的服务器上,这脚本本质上是使用了subprocess模快来执行Linux的命令,最终获取命令执行结果,进行第一次分析。然后将分析得到的结果通过requests的模块发送给API端。API端获取结果之后,进行数据分析和比对(二次分析),然后将数据入库,最后django起一个webserver将数据从数据库中获取出来,进行展示管理。建议:可以现场面试的时候画个架构图.
"""
  • ssh类方案
"""
	在中控机上安装paramiko模块,通过这个模块就可以登录到待采集的服务器上进行数据采集,然后执行Linux相关的命令,最后返回执行结果,将分析到的结果通过requests模块发送给API,API获取到数据以后进行二次数据比对,然后将比对的结果存入数据库中,最后起一个文本server从数据库中将数据获取出来,进行展示。
"""

2、总共分成几个部分?你负责哪一个部分?

"""
	总共分成三个部分,需要三个人,采集端是一个人,API数据分析和入库是一个,前端是vue做的也需要一个人,完美这个项目总共做了半年的时间
	你负责那一部分的整体回答原则是:拿着个项目最有含金量的部分去说
	答:我主要哦负责数据的采集
"""

3、你负责这一部分的时候是怎么做的?遇到了那些问题?是怎么解决的?

"""
a.怎么做的?
	我主要是参考了django的高级配置文件,然后将该项目也做成集成用户自定义的配置,以及全局的高级配置。代码中大量使用到了反射。
	在采集信息的时候,使用到了高类聚低耦合的思想,将每一个服务器的信息做成一个个的独文件,比如CPU相关的信息,全放在该文件下,且该文件只包含CPU相关的信息,,这样的话方便后续功能的扩展和问题的查找
	参考了django的中间件,实现了插件的可插拔式的采集 django的中间件(django的请求生命周期流程图)
b.你遇到了那些问题?是怎么解决的?
	可以从技术的角度   eg:linux的有些命令还不是很熟悉,以及subprocess模块不熟悉等 解决:查资料,请教运维
	沟通的角度  eg:  在遇到问题的时候,我及时的和团队成员沟通交流等,可自由发挥
"""

4、你从这个项目中获取到了啥?

"""
这个问题就是纯开放性的问题了,你可以自由发挥:
	eg:比如通过这个项目我对Linux的命令又收获了很多
	   再比如做了这个项目之后我对自动化运维有了更深层次的了解
	   再比如技术提升的角度:以前我做项目可能更多的是面向过程的写法,现在更多的是考虑整体项目的规划
	   再比如提升了沟通的能力,对多人协作开发的能力等...
	   ...
"""

上述的四个问题同样可以运用到其他的项目中,比如说xxxx

CMDB项目是一个ToB(面向企业用户)的项目, 即这种类型的项目做出来是给企业的员工用的,类似的有CRM,erp系统。因此此项目的优势是:每一个公司的方案都差不多。但是ToC的项目就不一样。

对自己简历上写的项目, 一定要熟练

cmdb面试题

标签:开放   用户   解决   web   返回   cmdb   信息   发送   请求   

原文地址:https://www.cnblogs.com/yafeng666/p/12588334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!