职业经验 每天一点面试题(2021/3/9)

**潘 · 2021年03月09日 · 最后由 **潘 回复于 2021年03月10日 · 2634 次阅读

1--------------------------测试基础面试题
问:你怎么测试网络协议
答:协议测试包括四种类型的测试:
(1)、一致性测试:检测测试实现本身与协议规范的符合程度
(2)、互操作性测试:基于某一协议检测不同协议实现间互操作互通信的能力
(3)、性能测试:检测协议实现的性能指标,比如数据传输速度,连接时间,执行速度,吞吐量,并发度
(4)、健壮性测试:检测协议在各种恶劣环境下运行的能力,比如注入干扰报文,通信故障,信道被切断
2--------------------------语言类面试题(python)
问:在自动化接口测试中,你常用到的包和库有哪些,分别怎么使用
答:自动化接口测试主要使用 python+requests 方式实现,API 接口为 redfish 接口,在使用时用到的库和包有如下:
(1)、tkinter 库:是 python GUI 库,主要用来做图形开发界面,使用方法举例:

win = tkinter.TK()   #实例化主窗口
win.wm_geometry('680*700+80+80')     #配置窗口大小

(2)、time 库:是 python 中自带的处理时间的标准库,使用方法举例:

time_now=time.time()    #返回当前时间戳
time.sleep()    #Python time sleep() 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。

(3)、os 库:提供丰富的方法来处理文件和目录,使用方法举例:

log_tem_path = os.path.join(sys.path[],'logs',file_name)  #os.path.join()函数:连接两个或更多的路径名组件
file_list=os.listdir()  #方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

(4)、sys 库:主要针对 python 解释器相关的变量和方法

list_path = sys.path[0]    #sys.path的第一个目录就是运行的文件所在的目录

(5)、json 库:是一种轻量级的数据交换格式,易于人阅读和编写,使用方法举例:

json.loads() #可以识别出字符串中的json格式:去掉引号,并变成通用的json,所有语言都识别

(6)、xlrd:是 excel 的第三方扩展包,使用方法举例:

x1 = xlrd.open_workbook(G_file_name)    #读取excel表格内容

(7)、base64:对数据加密解密,使用举例:

user_base64 = base64.b64encode(base64.b64encode(bytes(Entry_user.get(),'utf-8')))  #给输入的user名称加密

(8)、requests 库:接口请求的库,使用举例:

res=requests.get(url,headers = self.header,verify = False) #发送get请求

3--------------------------操作系统类面试题(linux)
问:linux 中查看磁盘的命令有哪些,分别的使用方法
答:linux 磁盘管理常用三个命令 df、du、fdisk
df:列出文件系统的整体磁盘使用量(检查文件系统的磁盘空间占用情况,可以利用该命令来获取磁盘被占用了多少空间,目前还剩下多少空间等信息)
-------语法:df [-ahikHTm][目录或文件名]
du:检查磁盘空间使用量。
-------语法:du [-ahskm] 文件或名称目录
fdisk:用于磁盘分区
-------语法:fdisk[-l] 装置名称(-l:输出后面接的装置所有的分区内容。若仅有 fdisk -l 时,则系统将会把整个系统内能够搜寻到的装置的分区均列出来)
4--------------------------计算机网络类面试题(TCP/IP,HTTP,ARP)
问:HTTP 请求报文段中请求方法和 HTTP 回复报文段中状态码分别是什么
答:(1)HTTP 请求报文段中请求方法:
GET:请求获取 request-url 所标识的资源
POST:在 request-url 所标识的资源后附加资源
HEAD:请求获取由 request-url 所标识的资源的响应信息报头
PUT:请求服务器存储一个资源,由 Request-url 作为其标识
DELETE:请求服务器删除由 request-url 所标识的资源
TRACE:请求服务器回送收到的请求信息(用于测试和诊断)
CONNECT:保留
OPTIONS:请求查询服务器新能
(2)状态码:100~199 表示请求已收到继续处理;200~299 表示成功;300~399 表示资源重定向;400~499 表示客户端请求出错;500~599 表示服务器端出错
200:响应成功
302:跳转,重定向
400:客户端语法有错误
403:服务器拒绝提供服务
404:请求资源不存在
500:服务器内部出错
5--------------------------数据库类面试题(sql,mysql)
问:请你写出 “选出课程编号部位的学生学号” sql 语句
答:SELECT 学号 FROM s WHERE NOT EXISTS(SELECT * FROM SC WHERE sc.课程号 == “
” AND S.学号=SC.学号)
6--------------------------自动化接口测试(Jmeter)
问:解释什么是预置处理器元件,列出一些预处理器元件
答:预置处理器是在采样器执行之前发生的事情,为了在执行采样请求之前对其进行配置,或者用于更新未从响应文本中提取的变量,需要使用预处理器元件,一些预处理器元件是:
HTTP URL 重写修饰符
HTTP 用户参数修饰符
HTML 链接解释器
BeanShell PreProcessor
7--------------------------code
问:Python 二分查找(给出一组有序数组,查找出其中某一特定元素的值,并返回所在位置)
答:

def binarysearch(arr,x,l,r):

    if r >= l:
        mid = int(l+(arr_len)/2)

        if arr[mid] == x:
            return mid

        elif arr[mid]>x:
            return binarysearch(arr,x,l,mid-1)

        else:
            return binarysearch(arr,x,mid+l,r)

    else:
        return -1


arr=input('请输入测试的数组:')
x = input('请输入需要查找的数:')

result = binarysearch(arr,x,0,len(arr)-1)

if result != -1:
    print ('查找的元素在%d位置'%result)
else:
    print('查找的元素不在数组中')

8--------------------------当前测试工作内容积累

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞

排版有点。。

这个二分查找真是不得不吐槽,需求是 “给出一组有序数组,查找出其中某一特定元素的值,并返回所在位置”,为了秀递归要求用户在调用时多传个 l,r 参数?
强烈建议不要这么写。

那么问题来了,二分法用递归写,复杂度是多少呢?
如果不用递归,要怎么优化,优化完复杂度是多少

恒温 回复

好的,后面注意排版

MarvinWu 回复

嗯,不太会写代码,只是把自己能理解的代码贴上去了,目的不是为了秀递归

花菜 回复

非递归:

def binarySearch (arr, x): 
    n=len(arr)
    l,r=0,n-1
    while l<=r:
        mid=(l+r)//2
        if arr[mid]==x:
            return mid
        elif arr[mid]>x
            r=mid-1
        else:
            l=mid+1
    return -1   

普通迭代时间复杂度最好 log(1),最差 log(n)。
递归不知道,算法太久没研究过了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册