题目:数据包有512个字节,处理:每个包会加4个校验字符;offset为开始的位置,length表示取出数据的长度,现在给你一个处理完的文件,请你取出从offset位置开始长为length的原始数据(即没有校验字符串);
哪些坑呢:
1.offset可能是从某个数据包的中间开始的,同样offset+length定位的位置可能是某个数据包的中间;(一脚踩坑里了)
2.offset好像不是处理过后的文件开始位置,而是原始数据包(无校验)中的位置,包括length也是;(我忘了,我就当成是处理后的文件实现了下)
def check(target,offset,length):
end = offset + length - 1
temp = (offset/5+1)*5 - 1
if temp >= end:
return target[offset:end+1]
if temp < end:
tmp = target[offset:temp+1]
while temp + 4 < end:
tmp += target[temp+5:temp + 10]
temp = temp + 9
if offset > end:
temp -= 9
tmp += target[temp:end+1]
return tmp
x = [2,2,2,2,2,1,1,1,1,3,3,3,3,3,1,1,1,1,4,4,4,4,4,1,1,1,1]
offset = 2
length = 8
print check(x,offset,length)
然后我就凉了;
其他的,请你用写个多线程脚本,判断哪些线程存活???
hadoop作业在yarn集群上的过程
hdfs原理,写流程应答数据包是返回给上个节点还是返回直接上一级;如何判断你的Datanode节点是否正常(好像问的是正确的存储数据),我投的大数据平台运维岗,感觉很在意对异常的检测和处理
tcp三次握手
不记得了