「精選推薦」馬上金三銀四了,盤點(diǎn)面試時(shí)問的那些高頻代碼面試題
前言
不管是初級還是中級測試工程師,現(xiàn)在的崗位要求都在要求自動化的能力了。當(dāng)然高級測試工程師就更不用說了。
那既然崗位要求,面試時(shí)就必不可少會問到代碼能力。本篇文章就給大家把基礎(chǔ)的代碼面試題整理出來了。
然后我是希望大家如果基礎(chǔ)薄弱,就死記硬背也給背下來。有能力的話就要去研究一下里面的實(shí)現(xiàn)邏輯。
1、冒泡排序
# 冒泡排序# 記住,排序是升序排!# 原理:從左到右,依次比對相鄰的兩個(gè)數(shù),數(shù)大的排后面,數(shù)小的排前面# 比如,11,13,12,10,14,那么最終要形成的是10,11,12,13,14list1= [11,13,12,10,14]le = len(list1)def bubble_sort(list1): # 遍歷列表長度減1次 for j in range(1,le): # 創(chuàng)建一個(gè)變量,用來記錄本輪冒泡,是否有數(shù)據(jù)交換位置 status = False # 每次遍歷都獲取第一個(gè)元素,依次和后面的元素進(jìn)行比較 for i in range(0,le-j): # 前一位數(shù) > 后一位數(shù)。交換位置。 if list1[i] > list1[i 1]: list1[i],list1[i 1] = list1[i 1],list1[i] # 只要由數(shù)據(jù)交換位置,則修改statusd的值 status = True # 每一輪冒泡結(jié)束之后,判斷當(dāng)前status是否為Flase, # 如果為Flase,則說明上一輪冒泡沒有修改任何數(shù)據(jù)的順序(即數(shù)據(jù)是有序的) if not status: return list1 return list1
2、99 乘法表
for row in range(1,10): for index in range(1,row 1): print(f'{index}*{row}={index * row}',end="t") print()
3、使用 print 函數(shù)和循環(huán)結(jié)構(gòu)輸出如下由*組成的金字塔
'''使用print函數(shù)和循環(huán)結(jié)構(gòu)輸出如下由*組成的金字塔 * *** ************'''max_level = 4for row in range(1,max_level 1): space_count = max_level - row star_count = row * 2 -1 for item in range(space_count): print(" ",end="") for item in range(star_count): print("*",end="") print()
4、對 list 去重并找出 list 中的重復(fù)元素
'''如果只是給列表去重,用set()集合即可但是要找出重復(fù)的元素就不行了'''from collections import Counter #引入Countera = [1, 2, 3, 3, 4, 4]b = dict(Counter(a))print(b) # 統(tǒng)計(jì)元素出現(xiàn)次數(shù)print ([key for key,value in b.items() if value > 1]) #只展示重復(fù)元素print ({key:value for key,value in b.items() if value > 1}) #展現(xiàn)重復(fù)元素和重復(fù)次數(shù)
5、獲取一個(gè) 100 以內(nèi)偶數(shù)的純數(shù)字序列,并存到列表里,然后求這些偶數(shù)數(shù)字的和。
def add_fun(data): sum = 0 list = [] for num in range(2,data,2): list.append(num) sum = num return sum,listresult = add_fun(100)print('100以內(nèi)的偶數(shù)之和為{},n生成的偶數(shù)列表為:{}'.format(result[0],result[1]))
6、用 Python 中寫出 1 加到 100 的算法
sum = 0for i in range(1,101): sum = iprint(sum)
7、求 100-999 的水仙花數(shù)
'''水仙花數(shù)是指一個(gè)n位的正整數(shù)(n>=3),它的每個(gè)數(shù)字的n次冪之和等于它本身。例如: 153=1*1*1 5*5*5 3*3*3153為三位數(shù),它的每個(gè)數(shù)字的三次方之和等于153。'''# 分析過程:將正整數(shù)n的個(gè)位十位百位分別取出,再求冪之和;個(gè)位百位比較好拆分,十位的話可以先減去百位再用除法計(jì)算。print("100-999之間的水仙花數(shù)為:")for a in range(100, 999): i = int(a % 10) # 取出個(gè)位 j = int(a / 100) # 取出百位 k = int((a - j * 100)/10) # 取出十位 if i**3 j**3 k**3 == a: # 計(jì)算冪之和,與數(shù)本身進(jìn)比較判斷 print(a)
作為前輩我不確定我現(xiàn)在給出的一定百分百正確,但至少能讓你少走一點(diǎn)彎路。
這是我給大家整理的從0到月薪15k的軟件測試學(xué)習(xí)路線,通用性極強(qiáng)
軟件測試學(xué)習(xí)知識點(diǎn)匯總
軟件測試所有方向的技術(shù)點(diǎn)做的整理,形成各個(gè)領(lǐng)域的知識點(diǎn)匯總,它的用處就在于,你可以按照上面的知識點(diǎn)去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。
溫馨提示:篇幅有限,已打包文件夾,獲取方式在:私信關(guān)鍵詞“資料”
軟件測試必備工具
安裝包都給你打包好了,直接安裝。
精品軟件測試學(xué)習(xí)書籍
當(dāng)我學(xué)到一定基礎(chǔ),有自己的理解能力的時(shí)候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細(xì)記載了他們對一些技術(shù)點(diǎn)的理解,這些理解是比較獨(dú)到,可以學(xué)到不一樣的思路
軟件測試學(xué)習(xí)視頻
觀看零基礎(chǔ)學(xué)習(xí)視頻,看視頻學(xué)習(xí)是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎(chǔ)到深入,還是很容易入門的。
項(xiàng)目實(shí)戰(zhàn)
光學(xué)理論是沒用的,要動手實(shí)操,才能將自己的所學(xué)運(yùn)用到實(shí)際當(dāng)中去,這時(shí)候可以搞點(diǎn)實(shí)戰(zhàn)項(xiàng)目來學(xué)習(xí)。
面試刷題
學(xué)習(xí)路線
寫在最后
三個(gè)月足夠,不裸辭也夠,除非你現(xiàn)在工作忙到每天回家倒頭就睡。
問題不在于三個(gè)月夠不夠,而是你能不能堅(jiān)持。
裸辭的好處是干擾更小,壞處是壓力更大,看你是哪種類型的性格,再決定是背水一戰(zhàn)還是騎驢找馬。
有的人可以邊工作邊做別的事,但不是所有人都能做到。
同樣,沒有工作也不是所有人能接受的狀態(tài)。
最后就是,別定太高目標(biāo)。既然決心轉(zhuǎn)行,就做好從零開始的準(zhǔn)備
所有上述系統(tǒng)資料都可以私信我關(guān)鍵詞“資料”獲取
以上,祝好。