软件测试 — 面试题
一、真實(shí)面試題
記錄本人找工作中遇到的面試題,作為面試總結(jié)自身的不足。
面試1:某銀行的信貸系統(tǒng)項(xiàng)目
(1)你們公司的軟件測(cè)試基本流程。
(2)怎么查看一個(gè)指定的文件。
(3)怎么在一個(gè)文件中查找特定的字符串。
(4)怎么查看一個(gè)文件有多少行。
(5)怎么將一個(gè)文件拷貝到另外一個(gè)目錄下。
(6)查看資源占用率。
面試2:外灘某著名保險(xiǎn)融資擔(dān)保公司
(1)python內(nèi)置函數(shù)的方法__init__和_new_方法的區(qū)別
(2)淺拷貝和深拷貝的區(qū)別
(3)元組的特性
(4)數(shù)據(jù)庫(kù)索引,為什么有了索引的話查詢(xún)較快
(5)selenium定位元素的方法
(6)linux查看日志命令
(7)怎么合并分支
面試3:某助貸公司
(1)黑盒測(cè)試和白盒測(cè)試的區(qū)別,舉例出幾種黑盒測(cè)試的方法。
(2)怎么測(cè)試一個(gè)web頁(yè)面
(3)1個(gè)客戶(hù)端500個(gè)用戶(hù)和500個(gè)客戶(hù)端500個(gè)用戶(hù)對(duì)服務(wù)器施壓,有什么區(qū)別?
(4)使用列表推導(dǎo)式的方法去除列表中的重復(fù)值
(5)遍歷出100以?xún)?nèi)的所有偶數(shù)
(6)迭代器和生成器的區(qū)別
面試4:某芯片研發(fā)公司
(1)裝飾器的作用
(2)字典和json文件的區(qū)別
(3)多線程
(4)docker容器
(5)怎么維護(hù)接口自動(dòng)化測(cè)試用例
(6)說(shuō)說(shuō)你搭建接口自動(dòng)化測(cè)試框架的思路
面試5:某財(cái)富管理公司
(1)python列表去重
(2)python怎么取出字典的所有key
(3)python比較兩個(gè)json文件的區(qū)別
(4)java構(gòu)造函數(shù)
二、真實(shí)面試題答案
自己寫(xiě)的答案,可能不對(duì),歡迎指正。
面試1:
(1)需求分析-編寫(xiě)測(cè)試用例-用例評(píng)審-測(cè)試實(shí)施-測(cè)試報(bào)告-驗(yàn)收測(cè)試
(2)
- more filename 分屏查看
- cat filename 查看全部
- head filename 顯示頭幾行
- tail filename 顯示后幾行, -l 可以動(dòng)態(tài)查看
- grep 模糊查詢(xún)
(3) 命令行模式打開(kāi)文件,/ 進(jìn)入vim模式,輸入要查詢(xún)的
(4)
- wc -l filename 統(tǒng)計(jì)行數(shù)
- wc -c filename? 統(tǒng)計(jì)字節(jié)數(shù)
- wc -w filename 統(tǒng)計(jì)字?jǐn)?shù)
(5)cp filename 路徑,拷貝目錄的話要加參數(shù) -a
面試2:
(1)
- _new__方法帶參數(shù)cls,__init__的方法帶參數(shù)self。
- _new__在__init__之前被調(diào)用,__new__的返回值(實(shí)例)將傳遞給__init__方法的第一個(gè)參數(shù)(self)。
(2)淺拷貝只是引用原始對(duì)象的內(nèi)存地址,而深拷貝的子對(duì)象與原始對(duì)象中的子對(duì)象內(nèi)存地址不同,兩者是完全獨(dú)立的。
? ? ? 具體不同可以參考文章:python基礎(chǔ) — 賦值,淺拷貝,深拷貝_個(gè)人博客-CSDN博客
(3)元組tuple,有序,不可變,可以切片。
(4)索引用于快速找出在某個(gè)列中有一特定值的行,不使用索引,MySQL必須從第一條記錄開(kāi)始讀完整個(gè)表,直到找出相關(guān)的行,表越大,查詢(xún)數(shù)據(jù)所花費(fèi)的時(shí)間就越多,如果表中查詢(xún)的列有一個(gè)索引,MySQL能夠快速到達(dá)一個(gè)位置去搜索數(shù)據(jù)文件,而不必查看所有數(shù)據(jù),那么將會(huì)節(jié)省很大一部分時(shí)間
(5)8中定位元素的方法:id,name,css,xpath,class name,tag name,link_text,partial_link_text
(6)grep 命令模糊查詢(xún),cat,more,tail -f ,查看日志內(nèi)容
面試3:
(1)
- 黑盒測(cè)試也叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,不關(guān)心程序的內(nèi)部邏輯,只在被測(cè)軟件的接口處測(cè)試,根據(jù)業(yè)務(wù)需求,通過(guò)輸入值來(lái)測(cè)試輸出值,常用的測(cè)試方法等價(jià)類(lèi),邊界值,因果圖,場(chǎng)景法。測(cè)試分類(lèi)功能測(cè)試,性能測(cè)試,安全測(cè)試。
- 白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,關(guān)心的是程序的內(nèi)部邏輯,如單元測(cè)試,檢查被測(cè)代碼的邏輯是否正確。測(cè)試方法可分為靜態(tài)分析和動(dòng)態(tài)分析。
(2)可以從測(cè)試web頁(yè)面的功能和性能角度去考慮。參考地址:如何測(cè)試一個(gè)web網(wǎng)站? - 知乎
(3)壓力測(cè)試,并發(fā)數(shù)量。
(4)
list = [1,1,2,2,2,3,4,5,6,6,6]
print([i for i in set(list)])
--------------------------------------------
運(yùn)行結(jié)果:
[1, 2, 3, 4, 5, 6]
(5)
for i in range(101):
? ? if i % 2== 0:
? ? ? ? print(i)
(6)
- 迭代器需要_iter_和_next_方法,生成器是一種特殊的迭代器,使用yield關(guān)鍵字,不需要實(shí)現(xiàn)__iter__和__next__方法。
- 生成器在迭代的過(guò)程中可以改變當(dāng)前的迭代值。
面試4:
(1)裝飾器本質(zhì)上是一個(gè)Python函數(shù),在不改變?nèi)魏未a的情況下為已經(jīng)存在的對(duì)象添加額外的功能,極大地復(fù)用了代碼。
(2)
- dict是一種數(shù)據(jù)結(jié)構(gòu),是一種數(shù)據(jù)傳輸格式
- dict字符串可以是單引號(hào),雙引號(hào),json字符串只能是雙引號(hào)
- dict類(lèi)型是字典,json類(lèi)型是字符串
(3)threading模塊
(4)docker容器占用資源少,啟動(dòng)快
(5)數(shù)據(jù)驅(qū)動(dòng)思想-把我們的測(cè)試數(shù)據(jù)放在json或者excel文件中來(lái)管理
(6)unittest單元測(cè)試框架+requests請(qǐng)求庫(kù)+ddt數(shù)據(jù)驅(qū)動(dòng)模塊+BeautifulReport測(cè)試報(bào)告模塊+git版本管理+jenkins持續(xù)集成
面試5:
(1)set函數(shù)
(2)dict.keys
(3)
import json as js import difflibf = open('F:/IMG1.json',encoding='UTF-8') m = open('F:/IMG2.json',encoding='UTF-8')x = js.load(f) y = js.load(m)for my_key in x.keys():value_eval = x[str(my_key)]value_test = y[str(my_key)]diff = difflib.SequenceMatcher(None, value_eval,value_test).quick_ratio()print(my_key,diff)(4)構(gòu)造器-初始化對(duì)象
三、自己總結(jié)的面試題
1、計(jì)算機(jī)基礎(chǔ)
(1)網(wǎng)絡(luò)協(xié)議 TCP/IP 協(xié)議簇
(2)常見(jiàn)的http請(qǐng)求響應(yīng)狀態(tài)碼
(3)代理服務(wù)器
(4)路由器,網(wǎng)關(guān)
(5)編程語(yǔ)言,編譯原理
2、數(shù)據(jù)庫(kù)
(1)基本的增刪改查語(yǔ)句
(2)條件查詢(xún),模糊查詢(xún),分組排序,去重,聚合函數(shù),多表查詢(xún)等。
(3)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程,游標(biāo),觸發(fā)器
(4)redis和mongdb緩存數(shù)據(jù)庫(kù)
(5).delete和drop的區(qū)別
(6)數(shù)據(jù)庫(kù)新增字段怎么測(cè)試?
3、Linux
(1)工作中常用的Linux命令,日志查詢(xún),文件管理,權(quán)限管理,進(jìn)程查詢(xún),資源占用率等性能指標(biāo)
(2)Vim 編輯器
(3)shell腳本
4、Python基礎(chǔ)
(1)基本數(shù)據(jù)類(lèi)型,數(shù)字類(lèi)型,字符串,列表,元組,集合,字典
(2)關(guān)鍵字和內(nèi)置函數(shù)
(3)函數(shù)和構(gòu)造器
(4)正則表達(dá)式
(5)推導(dǎo)式
(6)閉包和裝飾器
(7)迭代器和生成器
(8)淺拷貝和深拷貝
(9)*args和**kwargs的區(qū)別
(10)多線程和多進(jìn)程
(11)面向?qū)ο缶幊倘筇攸c(diǎn)
5、Python接口自動(dòng)化測(cè)試
(1)接口測(cè)試
(2)get和post方法的區(qū)別
(3)接口測(cè)試工具
(4)自動(dòng)化測(cè)試框架,測(cè)試分層思想
(5)斷言的層次,只斷言到請(qǐng)求的響應(yīng)結(jié)果層級(jí)嗎?
(6)上下游接口數(shù)據(jù)的傳遞
(7)數(shù)據(jù)格式的轉(zhuǎn)換
(8)json數(shù)據(jù)解析
(9)用到的第三方庫(kù)
(10)對(duì)賬文件的處理
(11)mock微服務(wù)搭建
6、性能測(cè)試
(1)性能測(cè)試的分類(lèi),壓力測(cè)試,并發(fā)測(cè)試,穩(wěn)定性測(cè)試
(2)性能測(cè)試的指標(biāo)
(3)jmeter,loadrunner工具的使用
7、其它
(1)版本控制和git命令
(2)消息中間件MQ
(3)文件服務(wù)器,FTP/SFTP,COS,CSS等
(4)docker容器
(5)K8S集群
(6)云服務(wù)技術(shù),阿里云,騰訊云等
(7)日志管理平臺(tái),Kibana,Graylog等
(8)CI/CD持續(xù)集成和持續(xù)部署
8、測(cè)試核心能力
(1)軟件測(cè)試基本理論,V/W模型,測(cè)試流程,測(cè)試分類(lèi)等。
(2)上家公司的項(xiàng)目介紹,工作內(nèi)容,職責(zé)等。
(3)上家公司的軟件測(cè)試流程,軟件測(cè)試工具。
(4)怎么做需求分析,測(cè)試計(jì)劃,測(cè)試方案,測(cè)試環(huán)境部署,測(cè)試實(shí)施,bug管理等
(5)開(kāi)發(fā)不認(rèn)的bug怎么處理?
(6)說(shuō)一說(shuō)你工作中遇到的印象深刻的bug?
(7)系統(tǒng)遷移,新老數(shù)據(jù) ,代碼重構(gòu)一類(lèi)的項(xiàng)目怎么測(cè)試?
(8)寫(xiě)過(guò)哪些測(cè)試小工具?
(9)什么是金字塔結(jié)構(gòu)?
(10)入職一家新公司,怎么快速開(kāi)展工作?
(11)測(cè)試左移,右移
(12)怎么提高測(cè)試效率和測(cè)試質(zhì)量?
9、HR面
(1)學(xué)歷,家庭背景,居住地,上班通勤時(shí)間。
(2)上家公司離職原因,多久到崗,上家公司待遇,期望薪資待遇。
(3)個(gè)人職業(yè)規(guī)劃等。
總結(jié)
以上是生活随笔為你收集整理的软件测试 — 面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++远航之封装篇——析构函数
- 下一篇: 那些我曾经犯过的低级编程错误