<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python自動化試題倉

          共 5254字,需瀏覽 11分鐘

           ·

          2020-08-05 11:58

          試題/試題,一窩蜂要試題!是佛腳抱不了了,還是現(xiàn)在機(jī)會太多,另尋高就,升職加薪??據(jù)我所知測試崗現(xiàn)在是競爭越來越大、要求越來越高,坑位越來越少,這三越擊打著不少測試同仁們的內(nèi)心吧!那些被培訓(xùn)機(jī)構(gòu)口中的三高(薪資高、發(fā)展廣、職位空缺多)忽悠轉(zhuǎn)行加入的小白,現(xiàn)在是不是一臉懵逼?深刻上一課,沒辦法只能繼續(xù)加油,繼續(xù)折騰;怎么樣?來道試題菜提升提升?

          01?

          面試引言


          1#?-*-coding=utf-8-*-
          2# anthou:石超
          3
          4??聊聊為什么選擇Python
          5-?為什么學(xué)習(xí)Python?
          6-?通過什么途徑學(xué)習(xí)的Python?
          7
          8:?)

          02?

          Python自動化試題?


           1#?-*-coding=utf-8-*-
          2# anthou:石超
          3
          4unittest相關(guān)
          51、unittest怎么實現(xiàn)結(jié)果的對比?
          6
          72、setup和teardown有什么用?
          8
          9http相關(guān)
          103、看過http的請求內(nèi)容嗎?都包含什么?Cookie一般放在哪?平時怎么抓包?
          11
          124、知道urllib嗎?有沒有更優(yōu)的選擇?
          13
          14json相關(guān)
          155、json和python的字典有什么區(qū)別呢?
          16
          175.1、網(wǎng)絡(luò)傳輸需求格式為json,你在python中寫的是字典,這時候怎么辦呢?
          18
          195.2、清楚json.loads與json.dumps的區(qū)別嗎?
          20
          216、有遇到過這種情況嗎:在函數(shù)的內(nèi)部引用了外部(非全局)作用域的變量。這種情況最著名的應(yīng)用是什么?
          22
          23考察面向?qū)ο笙嚓P(guān):
          247、有用過類的一些魔法方法嗎?用過哪些?都有什么用?
          25
          268、類的實例化方法第一個參數(shù)是什么?必須是這個單詞嗎?意義是什么?有沒有可能第一個參數(shù)是其他的或者沒有?什么情況下會出現(xiàn)這種情況?
          27
          28考察多線程相關(guān):
          299、Python能否利用多核cpu的優(yōu)勢?為什么?
          30
          3110、Python多線程更適合什么場景?
          32
          3311、thread和threading,推薦使用threading模塊,原因如下:
          34
          3511.1join()的作用是:
          36
          3712、Python多線程需要鎖嗎?有GIL在,則某一時刻只能有一條線程運(yùn)行,不會有多條線程同時修改數(shù)據(jù)的情況產(chǎn)生,那為什么還要加鎖?
          38
          39
          40?總結(jié):試題只是為了測試自己的技術(shù)相關(guān)知識點,面試過程更多要將自己的想法與技術(shù)結(jié)合哈,沒有想法的測試/開發(fā)基本猶如一個絞肉機(jī),毫無感情思想而言
          41
          42
          43:?)



          03?

          經(jīng)典試題


           1#?-*-coding=utf-8-*-
          2# anthou:石超
          3
          41、如何實現(xiàn)?“1,2,3”?變成?[‘1’,’2’,’3’]??
          5
          62、如何用一行代碼生成[1,4,9,16,25,36,49,64,81,100]??
          7
          83、一行代碼實現(xiàn)刪除列表中重復(fù)的值??
          9
          104、如何生成一個隨機(jī)數(shù)?
          11
          125、如何使用python刪除一個文件?
          13
          146、一行代碼實現(xiàn)9*9乘法表
          15
          167、1、2、34、5?能組成多少個互不相同且無重復(fù)的三位數(shù)
          17
          18
          19:?)



          04
          Python自動化試題習(xí)題+答案


           1#?-*-coding=utf-8-*-
          2# anthou:石超
          3
          4
          5unittest相關(guān)
          61、unittest怎么實現(xiàn)結(jié)果的對比?
          7  通過斷言,unittest常用的斷言有assertrqual、assertnotequal等等
          8
          92、setup和teardown有什么用?
          10  1).setup是測試前的準(zhǔn)備工作,每條用例代碼執(zhí)行前都會先執(zhí)行一次setup。
          11  2)?.Teardown是測試結(jié)束后的清理
          12
          13http相關(guān)
          143、看過http的請求內(nèi)容嗎?都包含什么?Cookie一般放在哪?平時怎么抓包?
          15  1).包含url,請求方法,狀態(tài)碼,請求頭,請求體
          16  2).Cooike一般放在請求頭
          17  3).Web可以用谷歌控制臺抓,手機(jī)或者客戶端程序可以用fidder等工具。
          18
          194、知道urllib嗎?有沒有更優(yōu)的選擇?
          20  1).urllib是python3的庫,內(nèi)置了一些操作http請求的方法。更優(yōu)的選擇是requests,python的第三方庫,封裝了urllib,更簡潔易用。
          21
          22json相關(guān)
          235、json和python的字典有什么區(qū)別呢?
          24  1).json是一種數(shù)據(jù)傳輸?shù)母袷?,字典是python內(nèi)置的一種數(shù)據(jù)結(jié)構(gòu)。python dict 單引號雙引號均可,json強(qiáng)制規(guī)定雙引號。json key value必須是字符串,python 字典的key,value是任何可哈希的對象
          255.1、網(wǎng)絡(luò)傳輸需求格式為json,你在python中寫的是字典,這時候怎么辦呢?
          26  1).用json庫進(jìn)行轉(zhuǎn)換,json.loads和json.dumps
          275.2、清楚json.loads與json.dumps的區(qū)別嗎?
          28  1).json中的dumps方法是用來將特定格式的數(shù)據(jù)進(jìn)行字符串化的操作,比如列表字典都可以進(jìn)行字符串化操作然后寫入json的file;而且如果是要寫入json文件就必須要進(jìn)行dumps操作;
          29  2).loads用來將字符型數(shù)據(jù)轉(zhuǎn)換成原來的數(shù)據(jù)格式,諸如列表和字典,就是原本是什么格式就還原成什么格式。
          30
          316、有遇到過這種情況嗎:在函數(shù)的內(nèi)部引用了外部(非全局)作用域的變量。這種情況最著名的應(yīng)用是什么?
          32  1).其實這就是閉包,最著名的應(yīng)用是裝飾器。自動化測試經(jīng)常用到裝飾器,比如在登錄,打日志,輸出時間等等情況
          33
          34考察面向?qū)ο笙嚓P(guān):
          357、有用過類的一些魔法方法嗎?用過哪些?都有什么用?
          36  1).以雙下劃線開頭和結(jié)尾的方法是魔法方法。最常用的:__init__,用來初始化類。其他還很多,比如:__str__,__call__等等
          37
          388、類的實例化方法第一個參數(shù)是什么?必須是這個單詞嗎?意義是什么?有沒有可能第一個參數(shù)是其他的或者沒有?什么情況下會出現(xiàn)這種情況?
          39  1).類的實例化方法第一個參數(shù)是self,不一定非得是self,也可以是abcd,隨意。
          40  2).意義是類自身實例化出的對象。
          41  3).也可能第一個參數(shù)是cls
          42  4).這種情況是類方法,需要加裝飾器@classmethod,也可能沒有,這種情況是靜態(tài)方法,需要加裝飾器@staticmethod
          43
          44考察多線程相關(guān):
          459、Python能否利用多核cpu的優(yōu)勢?為什么?
          46  1).不能,因為python內(nèi)置了全局解釋器鎖(GIL),同一時刻只能有一個線程在運(yùn)行
          47
          4810、Python多線程更適合什么場景?
          49  1).io密集型(如爬蟲,文件操作,網(wǎng)絡(luò)編程等)
          50
          5111、thread和threading,推薦使用threading模塊,原因如下:
          52  1).threading更先進(jìn),有更好的線程支持
          53  2).thread模塊的同步原語很少,只有一個,threading很多
          54  3).thread模塊對于進(jìn)程何時退出沒有控制。主線程結(jié)束,子線程隨即強(qiáng)制結(jié)束。thread不支持守護(hù)線程。
          5511.1join()的作用是:
          56  1).在子線程完成運(yùn)行之前,這個子線程的父線程將一直被阻塞,主線程會在所有非守護(hù)線程退出后退出。
          57
          5812、Python多線程需要鎖嗎?有GIL在,則某一時刻只能有一條線程運(yùn)行,不會有多條線程同時修改數(shù)據(jù)的情況產(chǎn)生,那為什么還要加鎖?
          59  1).需要鎖。因為很多操作不是原子操作。線程會在執(zhí)行到100條字節(jié)碼的時候切換。舉例如下:
          60雖然兩個線程A、B由于GIL鎖的存在,不會同時執(zhí)行。(假設(shè)A、B功能是對一個全局變量 m 進(jìn)行+1)但是A由于時間片用完切回B之前的最后一步操作可能是讀取m的值,記作m1.此時B執(zhí)行讀取m的值,m加一,寫回m,此時m的值是m1+1.又切回A,A執(zhí)行加一,寫回m,而寫回的值是多少呢?還是m1+1.
          61
          62
          63?總結(jié):以上就是本期的內(nèi)容,你學(xué)會了嗎?如果有什么不懂得,請公眾號搜索[小X聊測試],每周會定期更新測試相關(guān)的內(nèi)容?下期內(nèi)容提示:?下期內(nèi)容主要針對面試時,一些需要注意的事項進(jìn)行整理!?。?!



          05
          經(jīng)典習(xí)題+答案

           1#?-*-coding=utf-8-*-
          2# anthou:石超
          3
          41、如何實現(xiàn)?“1,2,3”?變成?[‘1’,’2’,’3’]??
          5s?=?'1,2,3'
          6li?=?s.split(',')??#?指定分隔符對字符串進(jìn)行切片
          7print(li)???#?['1',?'2',?'3']
          8
          92、如何用一行代碼生成[1,4,9,16,25,36,49,64,81,100]??
          10li?=?[x**2?for?x?in?range(1,11)]
          11print(li)???#?[1,?4,?9,?16,?25,?36,?49,?64,?81,?100]
          12
          133、一行代碼實現(xiàn)刪除列表中重復(fù)的值??
          14集合的主要作用是去重和關(guān)系運(yùn)算.
          15
          16li?=?[1,1,4,7,4,9,7,9,11]
          17new_li?=?list(set(li))
          18print(new_li)??#?[1,?4,?7,?9,?11]
          19
          204、如何生成一個隨機(jī)數(shù)?
          21random模塊可以很容易生成隨機(jī)數(shù)和隨機(jī)字符串。
          22
          23random.randint(1,?100)??#?1-100之間取一個隨機(jī)數(shù)
          24random.randrange(1,?100)??#?1-100之間取一個隨機(jī)數(shù)
          25randint&randrange區(qū)別:randint包含100,randrange不包含100!!!
          26
          27
          28string模塊可以生成隨機(jī)字符串
          29
          30string.digits??#?數(shù)字字符串???'0123456789'
          31string.ascii_letters??#?字母字符串?'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
          32string.ascii_lowercase??#?小寫字母字符串??'abcdefghijklmnopqrstuvwxyz'
          33string.ascii_uppercase???#?大寫字母字符串?'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
          34string.punctuation???#?特殊字符??'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
          35
          365、如何使用python刪除一個文件?
          37os.remove()????#?刪除一個文件的方法
          38
          39>>>?os.remove('atm_shopmall.zip')
          40>>>?os.listdir()
          41['.DS_Store',?'atm_shopmall',?'startMyPython3.0']?
          42
          436、一行代碼實現(xiàn)9*9乘法表
          44print("\n".join("\t".join(["%s*%s=%s"?%(x,y,x*y)?for?y?in?range(1,?x+1)])?for?x?in?range(1,?10)))
          45
          467、12、3、4、5?能組成多少個互不相同且無重復(fù)的三位數(shù)
          47li?=?[1,?2,?3,?4,?5]
          48new_li?=?[]
          49
          50for?i?in?li?:
          51????for?j?in?li:
          52????????for?m?in?li:
          53????????????if?i?!=?j?and?i?!=?m?and?j?!=?m:
          54????????????????num_str?=?str(i)+str(j)+str(m)
          55????????????????num?=?int(num_str)
          56????????????????new_li.append(num)
          57
          58new_set?=?set(new_li)
          59new_list?=?list(new_set)
          60new_list.sort()
          61print(new_list)
          62print(len(new_list))????#?60???5*4*3
          63
          64:?)

          作者:石超?

          來源:Python測試社區(qū)? ??(這是一個有深度,有態(tài)度的公眾號,推薦大家關(guān)注)

          鏈接:https://mp.weixin.qq.com/s/zl7hpYGqsLx6afTtI2B9eA

          瀏覽 16
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV无码乱码国产精品 | 精精品人妻一区二区三区 | 69日本爱爱 | 色拍拍55 | 久青草资源福利视频 |