当前位置:   article > 正文

字节跳动测开一面_测开字节1面

测开字节1面

TCP三次握手与四次挥手

TCP三次握手与四次握手感觉是字节跳动的必问题,之前面过一次字节跳动,也问了这个题。

HTTP连接(浏览器点击搜索之后)

http响应过程

在这里插入图片描述

http请求报文

在这里插入图片描述

http响应报文

在这里插入图片描述

测试用例和BUG书写规范

测试用例书写

在这里插入图片描述

BUG书写

bug标题:简明扼要地阐述问题本质
测试设备:使用地设备、操作系统、测试环境、网络类型等
前提条件:明确指出BUg是在什么情况下产生的
测试步骤:简明清晰分步骤描述如何复现Bug,步骤用序号编排(点击用->连接)
期望结果:按照产品需求清晰的填写预期结果
实际结果:实际结果、复现步骤及出现概率
截图和附件:UI类型,上传截图,并增加相应的红框标识;功能类型,视频文件:崩溃类型,视频和log
项目名称:名称+版本号
Bug所属项目和模块
严重等级:紧急、严重、一般、微小
优先级:P1,P2,P3,P4
Bug状态:New,Open,Fixed,Rejected,Delay,Closed,Reopen

怎样判断链表有没有环

判断单向链表是否有环

两种思路

  1. 设置一个集合(或列表),每次访问将结点放到其中,遍历链表,如果结点已经在集合中,证明已经访问过,存在环。
  2. 设置两个指针,fast 和slow,fast指针一次走两步,slow指针一次走一步,如果两个指针相遇,证明有环,如果fast都走到null了,还没相遇,则证明无环。
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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

性能测试的指标

性能测试参考文章
前端主要关注:
响应时间
加载速度
电量
流量
后端主要关注:
响应时间
并发用户数
内存占用:APP的内存开销
TPS(吞吐率)(Transaction per second,每秒事务数)
错误率
资源消耗:CPU占用率、内存使用率、磁盘I/O、网络I/O

python 复制、深拷贝与浅拷贝

  1. 复制
    直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。

  2. copy浅拷贝 父对象不变,子对象变

  3. 深拷贝(需要导入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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

linux创建文件

参考菜鸟教程

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/539207
推荐阅读
相关标签
  

闽ICP备14008679号