CMDB ⾯试题
CMDB ⾯试题
1.你们公司为啥要做CMDB ?
为了推⾏运维⾃动化,⽅便年底进⾏资产统计
2.CMDB 的三套设计⽅案是啥?ioc容器的初始化过程
agent ⽅案,ssh 类⽅案,saltstack ⽅案
3.你们公司选⽤的⽅案是啥?并简述⽅案架构
leakagent ⽅案
采集的脚本使⽤subprocess 模块下的getoutput ⽅法,执⾏linux 的相关命令采集数据,然后将采集的数据通过requests 模块发送给服务端的API 端,API 获取数据后,进⾏⼆次分析,然后将分析好的数据⼊库,最后起⼀个django 的web 服务,然后将数据最终展现到web 界⾯,管理员就可以通过web 界⾯对数据进⾏管理
4.你负责哪个模块?遇到了哪些问题?怎么解决的?
负责采集端数据的采集,在采集的时候,主要是linux 的相关命令不太熟悉
解决的⽅法就是 查⽂档或者问运维
数据结构和算法
1.请⼿写⼀个快速排序算法?
2.请⼿写单链表的增删改查算法
def partition(data, left, right):
tmp = data[left]
while left < right:
while left < right and data[right] >= tmp:
right = right - 1
data[left] = data[right]
while left < right and data[left] <= tmp:
left = left + 1
data[right] = data[left]
data[left] = tmp
return left
def quick_sort(data, left, right):
if left < right:
mid = partition(data, left, right)
quick_sort(data, left, mid)
quick_sort(data, mid + 1, right)
class Hero(object):
def __init__(self, no=None, name=None, nickname=None,pNext=None):
< = no
self.name = name
self.nickname = nickname
self.pNext = pNext
def add(head, hero):
cur = head
ui设计和web前端哪个好
while cur.pNext != None:
if > :
break
cur = cur.pNext
# cur.pNext = hero
hero.pNext = cur.pNext
cur.pNext = hero
def getAll(head):
cur = head
while cur.pNext != None:
cur = cur.pNext
print("编号是%s, 名字叫%s, 外号是%s" % (, cur.name, cur.nickname))
head = Hero()
hero1 = Hero(1, '宋江', '及时⾬')
add(head, hero1)
hero2 = Hero(2, '林冲', 'xxx')
add(head, hero2)
hero4 = Hero(4, '晁盖', '⽟麒麟')
add(head, hero4)
hero3 = Hero(3, 'zekai', 'xxx')
add(head, hero3)
getAll(head)
3.贪⼼算法
mysql面试题 增删改查现在去超市买东西,结账时,要求⽀付⼀定⾦额的现⾦,那么,按照⽣活常识,我们肯定会选择尽可能少的拿出钱的张数去满⾜⽀付⾦额,⽐如说:应付628元,这时候,我的钱包⾥有⾜够多的以下⾯额的钱:100,50,20,10,5,2,1,那么,我肯定会拿出6张100块的,1张20的,1张5块的,1张2
块的,最后再拿出1张1块的,6*100+20+5+2+1 = 628;那么我⽤10张就可以愉快的完成⽀付了,正常情况下,绝对不会拿628张1块的去⽀付或者其它。
money = [100,50,20,10,5,2,1]
def howManyCash(money, num, waitToPay):
count = 0
for i in range(num):
useMoney = waitToPay//money[i]
count += useMoney
waitToPay = waitToPay - useMoney*money[i]
print("需要⾯额为 %d 的 %d 张" % (money[i],useMoney))
print("剩下需要⽀付 RMB %d \n" % waitToPay)
print("总共需要%d张RMB\n"%count)
howManyCash(money, len(money), 628)
4.请写⼀个冒泡算法
def bubble_sort(li):
for i in range(len(li)):
for j in range(len(li)-1-i):
if li[j] > li[j+1]:
li[j], li[j+1] = li[j+1], li[j]
5.请写⼀个归并算法
def merge(li, low, mid, high):
i = low
j = mid + 1
ltmp = []
while i <= mid and j <= high:
if li[i] <= li[j]:
ltmp.append(li[i])
i += 1
else:
ltmp.append(li[j])
j += 1
while i <= mid:
ltmp.append(li[i])
i += 1
spring api 在线中文
while j <= high:
ltmp.append(li[j])
j += 1
li[low:high+1] = ltmp
def mergeSort(li, low, high):
if low < high:
mid = (low + high) // 2
mergeSort(li, low, mid)
# mergeSort(li, mid + 1, high)
print("合并之前:",low, mid, high, li[low:high+1])        # merge(li, low, mid, high)
# print("合并之后", li[low:high+1])
6.请写⼀个计数排序
def count_sort(li):
count = [0 for i in range(10)]
for i in li:
count[i] += 1
li.clear()
for n, num in enumerate(count):
ascii码0是多少
for j in range(num):
li.append(n)
B+树

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。