2025年測(cè)試工程師崗位招聘面試試題及參考答案_第1頁(yè)
2025年測(cè)試工程師崗位招聘面試試題及參考答案_第2頁(yè)
2025年測(cè)試工程師崗位招聘面試試題及參考答案_第3頁(yè)
2025年測(cè)試工程師崗位招聘面試試題及參考答案_第4頁(yè)
2025年測(cè)試工程師崗位招聘面試試題及參考答案_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025年測(cè)試工程師崗位招聘面試試題及參考答案一、單項(xiàng)選擇題(每題2分,共20分)1.在軟件生命周期中,對(duì)需求規(guī)格說(shuō)明書(shū)進(jìn)行評(píng)審的主要目的是A.檢查代碼是否符合編碼規(guī)范B.確認(rèn)需求是否完整、無(wú)歧義且可測(cè)試C.評(píng)估系統(tǒng)性能是否滿足用戶期望D.驗(yàn)證數(shù)據(jù)庫(kù)設(shè)計(jì)是否滿足第三范式答案:B2.某系統(tǒng)連續(xù)運(yùn)行7天,總失效時(shí)間為6小時(shí),其可用性最接近A.96.4%B.97.2%C.98.1%D.99.3%答案:A3.以下哪項(xiàng)最符合邊界值分析法的測(cè)試思想A.對(duì)輸入?yún)^(qū)間[1,100]取5,50,95作為測(cè)試數(shù)據(jù)B.對(duì)輸入?yún)^(qū)間[1,100]取0,1,2,99,100,101作為測(cè)試數(shù)據(jù)C.對(duì)輸入?yún)^(qū)間[1,100]隨機(jī)生成1000條數(shù)據(jù)D.對(duì)輸入?yún)^(qū)間[1,100]只測(cè)試中間值50答案:B4.在Linux系統(tǒng)中,查看實(shí)時(shí)日志文件app.log最新200行并持續(xù)刷新的命令是A.tailn200app.logB.tailfn200app.logC.headn200app.logD.lessNapp.log答案:B5.某接口文檔描述:POST/api/user/login,ContentType:application/json,請(qǐng)求體必須包含username、password,成功返回{"code":0,"token":"xyz"}。以下哪組最符合正交實(shí)驗(yàn)設(shè)計(jì)思想的最小組合A.username空,password空;username正確,password錯(cuò)誤;username錯(cuò)誤,password正確;username正確,password正確B.username正確,password正確;username空,password空C.username正確,password空;username空,password正確D.username正確,password正確;username超長(zhǎng),password含特殊字符答案:A6.使用JMeter進(jìn)行壓力測(cè)試時(shí),若目標(biāo)TPS=100,平均響應(yīng)時(shí)間=200ms,則理論上需要的并發(fā)線程數(shù)最接近A.10B.20C.30D.50答案:B7.在MySQL中,執(zhí)行SELECTFROMordersWHEREuser_id=123ANDstatus=1ORDERBYcreate_timeDESCLIMIT10;發(fā)現(xiàn)查詢慢,最先應(yīng)考慮的優(yōu)化手段是A.增加user_id+status+create_time聯(lián)合索引B.將status字段改為varchar(255)C.將user_id字段改為varcharD.在create_time上建立單列索引答案:A8.某APP崩潰日志顯示java.lang.OutOfMemoryError:GCoverheadlimitexceeded,最可能的根本原因是A.線程死鎖B.內(nèi)存泄漏導(dǎo)致堆幾乎被占滿且GC回收效率低C.網(wǎng)絡(luò)超時(shí)D.數(shù)據(jù)庫(kù)連接池配置過(guò)大答案:B9.在持續(xù)集成流水線中,單元測(cè)試覆蓋率門(mén)檻設(shè)置為80%,但最新構(gòu)建失敗提示coverage78%,以下做法最合理的是A.直接調(diào)低門(mén)檻到75%并重新構(gòu)建B.分析未覆蓋分支,補(bǔ)充用例后重新提交C.刪除部分復(fù)雜代碼以降低分母D.將測(cè)試用例改為空斷言以提高覆蓋率答案:B10.某微服務(wù)采用灰度發(fā)布策略,新版本v2僅對(duì)20%用戶開(kāi)放,若需驗(yàn)證訂單創(chuàng)建接口正確性,最可靠的測(cè)試策略是A.在測(cè)試環(huán)境調(diào)用v2接口100次B.在生產(chǎn)環(huán)境通過(guò)灰度流量鏡像復(fù)制v1與v2雙寫(xiě)對(duì)比C.直接全量切換v2并監(jiān)控錯(cuò)誤率D.關(guān)閉灰度,回滾到v1答案:B二、多項(xiàng)選擇題(每題3分,共15分,多選少選均不得分)11.以下哪些屬于黑盒測(cè)試設(shè)計(jì)技術(shù)A.判定表B.狀態(tài)轉(zhuǎn)移C.語(yǔ)句覆蓋D.等價(jià)類(lèi)E.分支覆蓋答案:A,B,D12.關(guān)于HTTPS協(xié)議,下列說(shuō)法正確的有A.默認(rèn)端口443B.使用TLS/SSL加密C.證書(shū)鏈驗(yàn)證可防止中間人攻擊D.對(duì)稱加密用于密鑰交換階段E.握手階段完成加密套件協(xié)商答案:A,B,C,E13.在Appium進(jìn)行Android自動(dòng)化時(shí),以下哪些能力必須依賴UIAutomator2A.獲取Toast文本B.跨應(yīng)用切換C.模擬指紋D.獲取當(dāng)前ActivityE.截圖答案:A,B,C14.以下哪些指標(biāo)可直接用于評(píng)估系統(tǒng)可擴(kuò)展性A.水平擴(kuò)展后TPS提升比例B.垂直擴(kuò)展后CPU利用率下降比例C.并發(fā)用戶增加時(shí)響應(yīng)時(shí)間增長(zhǎng)斜率D.單節(jié)點(diǎn)宕機(jī)后故障恢復(fù)時(shí)間E.數(shù)據(jù)分片后跨分片查詢延遲答案:A,B,C,E15.使用Postman進(jìn)行API測(cè)試時(shí),以下哪些功能可實(shí)現(xiàn)自動(dòng)化斷言A.Tests腳本使用pm.expectB.PrerequestScript設(shè)置環(huán)境變量C.CollectionRunner批量運(yùn)行D.Newman命令行集成JenkinsE.MockServer返回固定響應(yīng)答案:A,C,D三、填空題(每空2分,共20分)16.某系統(tǒng)年停機(jī)時(shí)間為8.76小時(shí),其可用性為_(kāi)_______%。答案:99.917.在Python中,使用requests庫(kù)發(fā)送帶證書(shū)的HTTPSPOST請(qǐng)求時(shí),參數(shù)名應(yīng)為_(kāi)_______。答案:cert18.根據(jù)ISO25010標(biāo)準(zhǔn),軟件質(zhì)量模型中“兼容性”屬于________特性。答案:產(chǎn)品質(zhì)量19.在Linux中,查找當(dāng)前目錄下所有.log文件并打包成tar.gz的命令是find.name".log"|tarczflogs.tar.gz________。答案:T20.某算法時(shí)間復(fù)雜度為O(nlogn),若輸入規(guī)模擴(kuò)大4倍,則理論耗時(shí)約擴(kuò)大________倍。答案:4log4≈821.在JenkinsPipeline中,聲明式語(yǔ)法的關(guān)鍵字________用于定義階段。答案:stage22.使用Git回退到上一次提交并丟棄工作區(qū)改動(dòng)的命令是gitreset________hard。答案:HEAD~123.在MySQL中,查看慢查詢?nèi)罩臼欠耖_(kāi)啟的狀態(tài)變量是________。答案:slow_query_log24.某接口限流算法采用令牌桶,桶容量1000,每秒放入100令牌,瞬時(shí)并發(fā)最大可處理________次請(qǐng)求。答案:100025.在性能測(cè)試中,90th響應(yīng)時(shí)間指________%的請(qǐng)求響應(yīng)時(shí)間低于該值。答案:90四、判斷題(每題1分,共10分,正確打“√”,錯(cuò)誤打“×”)26.白盒測(cè)試無(wú)需了解程序內(nèi)部邏輯。答案:×27.在敏捷開(kāi)發(fā)中,測(cè)試人員只在迭代結(jié)束后才開(kāi)始測(cè)試。答案:×28.使用SeleniumWebDriver時(shí),若元素在iframe內(nèi),需先切換至該iframe才能定位。答案:√29.在Linux中,軟鏈接與硬鏈接均可跨文件系統(tǒng)。答案:×30.數(shù)據(jù)庫(kù)事務(wù)的隔離級(jí)別越高,并發(fā)性能越好。答案:×31.在Python中,列表推導(dǎo)式比同等邏輯的for循環(huán)執(zhí)行速度通常更快。答案:√32.使用Postman導(dǎo)出Collection為JSON后可直接用于Newman命令行運(yùn)行。答案:√33.在HTTP狀態(tài)碼中,301表示永久重定向,302表示臨時(shí)重定向。答案:√34.在Appium中,desiredcapabilities字段platformName不區(qū)分大小寫(xiě)。答案:×35.若某系統(tǒng)CPU利用率長(zhǎng)期低于20%,則無(wú)需再進(jìn)行性能優(yōu)化。答案:×五、簡(jiǎn)答題(封閉型,每題8分,共24分)36.描述在持續(xù)交付流水線中,如何確保數(shù)據(jù)庫(kù)遷移腳本的可回滾性,并給出一種具體實(shí)現(xiàn)方案。答案:1.遷移腳本必須包含upgrade與downgrade兩部分,使用版本化工具如Flyway或Liquibase。2.每次遷移生成唯一版本號(hào),按順序執(zhí)行,downgrade腳本提供逆向SQL。3.在CI流水線中,先備份數(shù)據(jù)庫(kù),再執(zhí)行upgrade,跑自動(dòng)化測(cè)試,若失敗自動(dòng)觸發(fā)downgrade并恢復(fù)備份。4.生產(chǎn)發(fā)布時(shí)采用藍(lán)綠部署:先升級(jí)綠庫(kù),流量切換前記錄binlog位置,若異??稍?0秒內(nèi)切換回藍(lán)庫(kù)并回放binlog補(bǔ)償數(shù)據(jù)。37.說(shuō)明判定表測(cè)試設(shè)計(jì)方法的步驟,并給出“打印機(jī)作業(yè)”示例:條件包括“有紙”“有墨”“驅(qū)動(dòng)正?!?,動(dòng)作包括“打印”“提示缺紙”“提示缺墨”“提示驅(qū)動(dòng)錯(cuò)誤”。答案:步驟:1.列出所有條件與取值;2.計(jì)算組合數(shù);3.合并相似規(guī)則;4.添加動(dòng)作;5.每列成為測(cè)試用例。判定表:規(guī)則1:有紙=Y,有墨=Y,驅(qū)動(dòng)=Y→打印規(guī)則2:有紙=N→提示缺紙規(guī)則3:有紙=Y,有墨=N→提示缺墨規(guī)則4:有紙=Y,有墨=Y,驅(qū)動(dòng)=N→提示驅(qū)動(dòng)錯(cuò)誤最終合并后共4條用例。38.解釋內(nèi)存泄漏與內(nèi)存溢出的區(qū)別,并給出在Java中使用JProfiler定位內(nèi)存泄漏的完整操作流程。答案:區(qū)別:內(nèi)存泄漏指對(duì)象不再使用但GC無(wú)法回收,導(dǎo)致可用內(nèi)存逐漸減少;內(nèi)存溢出指申請(qǐng)內(nèi)存時(shí)堆空間不足,拋出OutOfMemoryError。操作流程:1.在JProfiler中啟動(dòng)內(nèi)存錄制,選擇“記錄分配”和“記錄GC根”;2.重復(fù)執(zhí)行業(yè)務(wù)場(chǎng)景20次,觸發(fā)泄漏;3.使用“HeapWalker”對(duì)比兩次快照,篩選“存活對(duì)象”增長(zhǎng)量最大的類(lèi);4.查看引用鏈,定位到靜態(tài)集合或線程局部變量;5.修復(fù)代碼,移除無(wú)效引用,驗(yàn)證泄漏消失。六、應(yīng)用題(綜合類(lèi),共41分)39.性能分析(12分)某電商秒殺接口基準(zhǔn)數(shù)據(jù):?jiǎn)螜C(jī)Tomcat,最大線程200,DB連接池50;壓測(cè)結(jié)果:并發(fā)100,平均RT200ms,TPS400;目標(biāo):支撐并發(fā)1000,TPS2000,RT≤300ms。給出三種可落地的優(yōu)化措施并估算各自帶來(lái)的TPS提升幅度。答案:1.水平擴(kuò)展:增加3臺(tái)同等配置節(jié)點(diǎn),通過(guò)Nginx負(fù)載,TPS≈400×4=1600,提升300%。2.緩存熱點(diǎn)庫(kù)存:引入Redis預(yù)減庫(kù)存,RT降至120ms,單機(jī)TPS≈700,提升75%。3.異步扣減:發(fā)送MQ消息,接口立即返回,RT降至80ms,單機(jī)TPS≈900,提升125%。組合后可達(dá)目標(biāo)。40.自動(dòng)化腳本開(kāi)發(fā)(14分)使用Python+Selenium編寫(xiě)腳本,完成以下場(chǎng)景:1.打開(kāi)/login;2.輸入用戶名testuser,密碼123456;3.點(diǎn)擊登錄后等待URL包含“dashboard”;4.斷言頁(yè)面出現(xiàn)“歡迎testuser”;5.截圖保存為login_success.png;6.退出瀏覽器。要求:使用PageObject模式,顯式等待,異常捕獲輸出日志。答案:```pythonimportlogging,timefromseleniumimportwebdriverfrommon.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEClogging.basicConfig(level=logging.INFO)classLoginPage:def__init__(self,driver):self.driver=driverself.url="/login"self.username_input=(By.ID,"username")self.password_input=(By.ID,"password")self.login_btn=(By.ID,"loginbtn")defopen(self):self.driver.get(self.url)deflogin(self,user,pwd):WebDriverWait(self.driver,10).until(EC.presence_of_element_located(self.username_input))self.driver.find_element(self.username_input).send_keys(user)self.driver.find_element(self.password_input).send_keys(pwd)self.driver.find_element(self.login_btn).click()classDashboardPage:def__init__(self,driver):self.driver=driverself.welcome_text=(By.XPATH,"http://[contains(text(),'歡迎testuser')]")defis_welcome_displayed(self):returnWebDriverWait(self.driver,10).until(EC.presence_of_element_located(self.welcome_text))deftest_login():driver=webdriver.Chrome()try:login_page=LoginPage(driver)login_page.open()login_page.login("testuser","123456")WebDriverWait(driver,15).until(EC.url_contains("dashboard"))dashboard=DashboardPage(driver)assertdashboard.is_welcome_displayed()driver.save_screenshot("login_success.png")("登錄成功,截圖已保存")exceptExceptionase:logging.error(f"用例失敗:{e}")raisefinally:driver.quit()if__name__=="__main__":test_login()```41.接口測(cè)試與簽名算法(15分)某開(kāi)放平臺(tái)的下單接口要求:請(qǐng)求方法:POST簽名算法:sign=HMACSHA256(secret,method+"&"+uri+"&"+timestamp+"&"+bodyStr)示例:secret="abc123",method="POST",uri="/order",timestamp="1620000000",bodyStr='{"sku":123,"num":1}'請(qǐng)用Python完成:1.計(jì)算正確簽名并生成請(qǐng)求頭XSign、XTimestamp;2.使用requests發(fā)送JSON請(qǐng)求;3.對(duì)返回的{"code":0,"orderId":"XYZ"}進(jìn)行斷言;4.將用例轉(zhuǎn)為pytest格式,參數(shù)化sku、num、預(yù)期code。答案:```pythonimporttime,hmac,hashlib,json,pytest,requestsSECRET="abc123"URI="/order"BASE_URL=""defsign(method,uri,ts,body):raw=f"{method}&{uri}&{ts}&{body}"returnhmac.new(SECRET.encode(),raw.encode(),hashlib.sha256).hexdigest()defcreate_order(sku,num):body=json.dumps({"sku":sku,"num":num})ts=str(int(time.time()))headers={

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論