电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python自動化測試筆試面試題精選

瀏覽:3日期:2022-08-02 14:30:53

前言

隨著行業的發展,編程能力逐漸成為軟件測試從業人員的一項基本能力。因此在筆試和面試中常常會有一定量的編碼題,主要考察以下幾點。

基本編碼能力及思維邏輯 基本數據結構(順序表、鏈表、隊列、棧、二叉樹) 基本算法(排序、查找、遞歸)及時間復雜度

除基本算法之外,筆試面試中經常會考察以下三種思想:

哈希 遞歸 分治

哈希

哈希即Python中的映射類型,字典和集合,鍵值唯一,查找效率高,序列(列表、元祖、字符串)的元素查找時間復雜度是O(n),而字典和集合的查找只需要O(1)。因此哈希在列表問題中主要有兩種作用:

去重

優化查找效率

例題1:列表去重#

列表去重在不考慮順序的情況下可以直接使用set()轉換(轉換后會自動排序),需要保持順序可以使用字典構建的fromkeys()方法,利用字典鍵值的唯一性去重。

不考慮順序:

l = [2,1,2,3,4,5,6,6,5,4,3,2,1]result = list(set(l))print(result)

運行結果:

[1, 2, 3, 4, 5, 6]

考慮順序:

l = [2,1,2,3,4,5,6,6,5,4,3,2,1]result = list({}.fromkeys(l).keys())print(result)

運行結果:

[2, 1, 3, 4, 5, 6]

例題2:分組

一串字母數字組合的字符串,找出相同的字母或數字,并按照個數排序。

l = [1,2,3,’a’,’b’,’c’,1,2,’a’,’b’,3,’c’,’d’,’a’,’b’,1]set1 = set(l)result = [(item, l.count(item)) for item in set1]result.sort(key=lambda x:x[1], reverse=True)print(result)

這里使用哈希的鍵值不重復性。當然也可以使用python自帶的groupby函數,代碼如下:

from itertools import groupbyl = [1,2,3,’a’,’b’,’c’,1,2,’a’,’b’,3,’c’,’d’,’a’,’b’,1]l.sort(key=lambda x: str(x)) # 分組前需要先排序result = []for item, group in groupby(l, key=lambda x: str(x)): result.append((item, len(list(group))))result.sort(key=lambda x:x[1], reverse=True)print(result)

例題3:海量數據找出top K的數據#

對于小數據量可以使用排序+切片,而對于海量數據,需要考慮服務器硬件條件。即要考慮時間效率,也要考慮內存占用,同時還要考慮數據特征。如果大量的重復數據,可以先用哈希進行去重來降低數據量。

這里我們使用生成器生成1000萬個隨機整數,求最大的1000個數,生成隨機數的代碼如下:

import randomimport timen = 10000 * 1000k = 1000print(n)def gen_num(n): for i in range(n): yield random.randint(0, n)l = gen_num(n)

不限內存可以直接使用set()去重+排序

start = time.time()l = list(set(l))result = l[-k:]result.reverse()print(time.time()-start)

1000w個數據會全部讀入內存,set后列表自動為遞增順序,使用切片取-1000到最后的即為top 1000的數

使用堆排可以節省一些內存

start = time.time()result = heapq.nlargest(k, l)print(time.time()-start)

這里是用來Python自帶的堆排庫heapq。使用nlargest(k,l)可以取到l序列,最大的k個數。

較小內存可以分治策略,使用多線程對數據進行分組處理(略)

例題4:兩數之和#

l=[1,2,3,4,5,6,7,8] 數據不重復,target=6,快速找出數組中兩個元素之和等于target 的數組下標。

注意,不要使用雙重循環,暴力加和來和target對比,正確的做法是單層循環,然后查找target與當前值的差,是否存在于列表中。

但是由于列表的in查詢時間復雜度是O(n),即隱含了一層循環,這樣效率其實和雙重循環是一樣的,都是O(n^2)。

這里就可以使用哈希來優化查詢差值是否在列表中操作,將O(n)降為O(1),因此總體的效率就會變成O(n^2)->O(n)。

l = [1,2,3,4,5,6,7,8]set1 = set(list1) # 使用集合已方便查找target = 6result = []for a in list1: b = target - a if a < b < target and b in set1: # 在集合中查找,為避免重復,判斷a為較小的那個值 result.append((list1.index(a), list1.index(b))) # 列表index取下標的操作為O(1) print(result)

遞歸問題

遞歸是一種循環調用自身的函數。可以用于解決以下高頻問題:

階乘 斐波那切數列 跳臺階、變態跳臺階 快速排序 二分查找 二叉樹深度遍歷(前序、中序、后序) 求二叉樹深度 平衡二叉樹判斷 判斷兩顆樹是否相同

遞歸是一種分層推導解決問題的方法,是一種非常重要的解決問題的思想。遞歸可快速將問題層級化,簡單化,只需要考慮出口和每層的推導即可。

如階乘,要想求n!,只需要知道前一個數的階乘(n-1)!,然后乘以n即可,因此問題可以轉為求上一個數的階乘,依次向前,直到第一個數。

舉個通俗的例子:

A欠你10萬,但是他沒那么多錢,B欠A 8萬,C欠B 7萬 C現在有錢。因此你要逐層找到C,一層一層還錢,最后你才能拿到屬于你的10萬。

到此這篇關于Python自動化測試筆試面試題精選的文章就介紹到這了,更多相關Python自動化測試筆試面試時常見的編程題內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: LOGO设计_品牌设计_VI设计 - 特创易 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 猎头招聘_深圳猎头公司_知名猎头公司 | 兰州牛肉面加盟,兰州牛肉拉面加盟-京穆兰牛肉面 | 合同书格式和范文_合同书样本模板_电子版合同,找范文吧 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 据信,上课带着跳 D 体验-别样的课堂刺激感受引发网友热议 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 上海APP开发-APP制作-APP定制开发-上海APP开发制作公司-咏熠科技 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 压滤机-洗沙泥浆处理-压泥机-山东创新华一环境工程有限公司 | 电子巡更系统-巡检管理系统-智能巡检【金万码】| 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 万博士范文网-您身边的范文参考网站Vanbs.com| 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 |