面试记录

B站测试开发面试 2020/5/13

1、python语法篇

元组和列表的区别

列表和元组是Python中最常用的两种数据结构,字典是第三种。 相同点:

  • 都是序列
  • 都可以存储任何数据类型
  • 可以通过索引访问

(1)语法差异

使用方括号[]创建列表,而使用括号()创建元组。

(2)是否可变

列表是可变的,而元组是不可变的,这标志着两者之间的关键差异。

我们可以修改列表的值,但是不修改元组的值。

由于列表是可变的,我们不能将列表用作字典中的key。 但可以使用元组作为字典key。

(3)大小差异

Python将低开销的较大的块分配给元组,因为它们是不可变的。 对于列表则分配小内存块。 与列表相比,元组的内存更小。 当你拥有大量元素时,元组比列表快。列表的长度是可变的。

单例模式

参考https://www.cnblogs.com/huchong/p/8244279.html

浅拷贝和深拷贝

 https://i.cnblogs.com/posts/edit;postId=12901110

有没有写过爬虫

 

对requests库的了解程度

 

2、自动化篇
自动化是否能做到100%,那些用例能自动化,哪些不能自动化
UI自动化断言一般做啥


3、性能篇
性能拐点
App出现Crash的原因
monkey的原理,除了monkey可以做稳定性测试,还有什么东西可以做稳定性测试


4、代码篇
有没有做过代码review
有没有从代码层面找到过bug出现的原因

5、sql篇
mysql 索引

6、CI/CD
CI/CD的流程和作用
构建方式有哪些

7、测试流程
介绍一下你们公司的发版流程
回归测试覆盖率是多少

 

8.软件出错的可能原因排查

1.客户投诉 英语流利说APP 懂你英语课程(或其他APP功能) 请求失败,分析可能的原因以及解决方案
原因:网络出错。 解决方案:检查手机网络状况
原因:错误的请求。 解决方案:查看前端是否出现意外的bug导致请求出错。
原因:服务器忙等。解决方案:使用高并发处理请求。
原因:客户权限出现问题。解决方案:检查客户是否已登录,或者具有权限。
原因:服务器后台接口出错。解决方案:查看后台接口运行情况。
原因:前端处理数据出错。解决方案:查看前端代码逻辑。
原因:版本升级导致的接口更换。解决方案:查看版本号和先版本号的差异。
原因:服务器无返回数据。解决方案:检查数据库状态。
原因:请求超时。解决方案:查看是否出现请求超时的情况。
原因:服务器掉线。解决方案:重启服务器。
原因:前端逻辑出错。解决方案:查看服务器逻辑。
原因:机主强制关闭

 

测试开发面试题(2020/5/19)

1、网络协议
http和 https的区别
get和post的区别

cookie和session

前三题参考https://i.cnblogs.com/posts/edit;postId=12850891
三次握手、四次挥手
TCP和UDP的区别

后两题参考:https://i.cnblogs.com/posts/edit;postId=12298702

2、算法
快排、冒泡排序

参考:https://www.cnblogs.com/crystal1126/p/12877202.html

3、python语法篇
单例模式
进程和线程的概念,python能实现真正意义上的多线程吗?


4、其他概念
堆栈?对象的实例是存在哪里?
内存泄露
死锁
adb命令用过些啥

 

5、linux命令
有没有用过linux命令?

 

6、数据库相关

索引

有没有设计过表

 

7、python中的静态方法和类方法

 

英语流利说电话面试

1、测试计划的内容

  测试计划详细内容参考:https://www.cnblogs.com/finer/p/9170490.html

数组和ArrayList的区别
Hashmap和TreeMap的区别
泛型的概念
jemter如何引用外部的java文件
迭代器的概念


数据库连接的概念,左连接和右连接的区别
对一个推荐功能设计用例

websocket和http的区别

python匿名函数  : 两个列表中的值相加得到另一个列表

with的作用

匿名函数:两个列表相加

list1=[1,2,3,4,5,6]
list2=[2,3,4,5,6,6,7,8]
#列表推导式
list3=[i+j for i,j in zip(list1,list2)]
for i in list3:
    print(i)
print("---------------")
#匿名函数
a=map(lambda x,y:x+y,list1,list2)
for i in a:
    print(i)

 

一个list列表中,计算三个数相加之和为0,并去除重复的数据。

def test(list):
    result=[]
    for i in range(len(list)-2):
        j=i+1
        k=len(list)-1
        while(j<k):
            if(list[i]+list[j]+list[k]<0):
                j+=1
            elif(list[i]+list[j]+list[k]>0):
                k-=1
            elif(list[i]+list[j]+list[k]==0):
                result.append((list[i],list[j],list[k]))
                print("[%s,%s,%s]"%(list[i],list[j],list[k]))
                k-=1
    return result

a=[-1,0, 1, 2,-1,4]
a.sort()#排序
result=test(a)
print(list(set(result)))#去重

websocket和socket的区别

 

posted on 2020-05-14 09:12  crystal1126  阅读(160)  评论(0编辑  收藏  举报

导航