赞
踩
TCP三次握手与四次握手感觉是字节跳动的必问题,之前面过一次字节跳动,也问了这个题。
bug标题:简明扼要地阐述问题本质
测试设备:使用地设备、操作系统、测试环境、网络类型等
前提条件:明确指出BUg是在什么情况下产生的
测试步骤:简明清晰分步骤描述如何复现Bug,步骤用序号编排(点击用->连接)
期望结果:按照产品需求清晰的填写预期结果
实际结果:实际结果、复现步骤及出现概率
截图和附件:UI类型,上传截图,并增加相应的红框标识;功能类型,视频文件:崩溃类型,视频和log
项目名称:名称+版本号
Bug所属项目和模块
严重等级:紧急、严重、一般、微小
优先级:P1,P2,P3,P4
Bug状态:New,Open,Fixed,Rejected,Delay,Closed,Reopen
两种思路
class Node(): # 定义一个Node类,构造两个属性,一个是item节点值,一个是节点的下一个指向 def __init__(self, item=None): self.item = item self.next = None ##利用集合判断是否有环 def findbeginofloop_1(head): """ :param head: 链表头 :return: True:有环,False 无环 """ first = head flag = set() while first: if first not in flag: flag.add(first) else: return first first = first.next return False #利用两个指针 def findbeginofloop_2(head): fastp = head slowp = head isloop = False while fastp and fastp.next and slowp: fastp = fastp.next.next slowp = slowp.next if fastp == slowp: ##有环 isloop = True break if isloop == True: fastp = head while fastp != slowp: ##找出环的入口 fastp = fastp.next slowp = slowp.next return fastp return False if __name__ == "__main__": node1 = Node(1) node2 = Node(2) node3 = Node(3) node4 = Node(4) node5 = Node(5) node1.next = node2 node2.next = node3 node3.next = node4 node4.next = node5 node5.next = node2 print(findbeginofloop_2(node1).item)
性能测试参考文章
前端主要关注:
响应时间
加载速度
电量
流量
后端主要关注:
响应时间
并发用户数
内存占用:APP的内存开销
TPS(吞吐率)(Transaction per second,每秒事务数)
错误率
资源消耗:CPU占用率、内存使用率、磁盘I/O、网络I/O
复制
直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。
copy浅拷贝 父对象不变,子对象变
深拷贝(需要导入copy模块)copy.deepcopy() 父子对象都不变 完全拷贝了父对象及其子对象,两者是完全独立
# 直接赋值 对象的别名 b和list1指向同一个对象 list1 = [1,2,3,[2,3]] b = list1 print("直接赋值") b.append("dhuu") print(list1) print(b) ## 浅拷贝 print("浅拷贝,父对象不变") b2 = list1.copy() list1.append("b2") print(list1) print(b2) print("浅拷贝,子对象会变") b2[3].append("子对象") print(list1) print(b2) import copy ## 深拷贝 print("深拷贝,a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。") b3 = copy.deepcopy(list1) list1.append("b3") list1[3].append("b3") print(list1) print(b3)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。