中高階測試工程師面試題庫(轉)
TesterHome收集的一些中高階測試工程師的68道面試題,轉存。
軟性熱身題
這種題目,考的就是你的軟效能力,比如表達能力,理解能力,協調能力,一個詞概括就是套路。這類題目會在面試開始熱身的時候,問一道兩題,不會多,但是如果你能回答的有條不紊,清晰達意,那麼就會給面試官留下非常好的印象,大致的題目如下:
-
自我介紹
-
介紹下你負責的公司專案
-
你有什麼優點和缺點?
-
在同一個專案組內,你認為你怎麼做會比另外一名測試更加優秀?
-
你為什麼離開上家公司?離職原因(這個會在最後問)
測試理論基礎題
這類題目就是考測試工程師的基本能力了,比如測試計劃,測試流程,如何bug,你做過哪些測試,一般我們認為這些能力做的再好都是應該的,不會有加分,但是隻要做的不好,那就是個不合格的測試工程師了。這種題目也不會問的太多,大概題目如下:
-
請描述下你上個公司的測試流程?
-
請描述下bug的幾個要素?
-
白盒和黑盒的區別,你是怎麼運用的?
-
你是如何做測試分析?
-
如何設計測試用例?什麼樣子的測試用例是好用例?
-
功能測試在 beta 版本對外的上線標準是什麼?
測試管理題
這類題目就是考驗你作為測試leader或者測試負責人的管理能力了。
-
如果專案週期很短,測試人力匱乏,你是怎麼協調的?
-
描述下你團隊的測試分工
-
對於團隊成員,你是如何打kpi的?
移動測試相關
如今是移動網際網路的天下,誰家沒有個應用,所以這一塊基本都會問到,同時也會看你的簡歷,如果你沒有做過,基本也不會問的太深,如果你是專門做這一塊的,那麼要好好準備了。
概念題
-
描述下web測試和移動應用測試的相同點和區別?
-
你是如何做應用的相容性測試的?
-
請講出客戶端下 3 個常用的效能指標的名稱與具體含義?
-
iOS應用和Android應用測試有什麼側重點?
-
請講訴移動應用的灰度是怎麼做的?
實踐題
-
應用的閃退通常是什麼原因造成的?如果應用閃退,Android 和 iOS 上是分別怎麼抓取日誌的?
-
請簡述移動應用在升級安裝時候應該考慮的場景?
-
給你一個應用,請簡述你會從哪些方面去測試?
-
請描述下微信朋友圈發小視訊的用例設計?
-
如果讓你來測試掃碼支付,你會考慮哪些場景?
-
如何測試一個應用的登入場景?
服務端測試相關
什麼都離不開服務端,所以這是你逃不開的,一般來說服務端會問介面測試,效能測試,更深一點,埋點監控止血也會有。
-
請問你們公司是如何做介面測試的?
-
介面測試質量評估標準是什麼?
-
請問你們公司是如何做效能測試的?請講訴效能測試的相關指標?
-
壓力測試和負載測試的區別
-
伺服器中一般要監控哪些資料,如何監控的,怎麼從監控資料中發現問題?
-
假設系統A呼叫系統B,我把B的介面都mock了,進行效能測試,這樣有什麼好處和壞處?
-
有一天早上打車高峰,滴滴服務端掛了大概30分鐘,工程師搶修之後,馬上上線,之後又掛了,請問有哪些原因會造成這個情況?
自動化相關
自動化永遠是避不開的,反正你入職的崗位要不要用自動化,你必須得會一點,加分項。這一塊包括,自動化一些理念和自動化的工具使用。
理念和概念
-
如何看待自動化和手動測試?怎樣的一個比例才是健康的?
-
你們公司的自動化投入產出比怎樣?效益怎樣?
-
自動化測試用例的覆蓋率多少?
-
完整執行一次自動化用例需要多久時間?
-
什麼是分層自動化?
-
你的測試資料是怎麼準備的?
-
測試指令碼的維護成本是怎麼樣的?
-
工具使用
-
WebDriver 相關
- 請問你的定位策略是什麼?
- 請問如何實現用例失敗或者異常時候需要截圖?
- 請問如何分散式執行webdriver用例?
- 如何在指令碼中執行 JavaScript 程式碼?
移動應用相關
- Appium 的定位策略有哪些?
- 請簡述Appium的原理
- iOS 和 Android 的 UI 自動化的原理是什麼?
- 當定位策略都失敗的時候,你該怎麼做?
- 請問Monkey測試的優缺點?
- 如果使用monkey發現了一個畢現閃退,請問怎麼使用monkey重現它?
Jmeter
- 你用jmeter做什麼測試?
- 如果有一個登入介面需要服務端返回引數,再帶著這個引數去請求才能完成登入,用jmeter 怎麼做?
硬 題
硬題
所謂硬題就是答案一般都是固定或者標準的,答案也不會模稜兩可,包括:演算法,程式設計,sql,linux
演算法
-
請寫出氣泡排序。
-
1~9999數列中數字3出現的次數。用遞推方法解出。
-
從一個數組中找出前4個最大的數,用最優解。
-
寫一段程式,刪除字串a中包含的字串b,舉例 輸入a = "asdw",b = "sd" 返回 字串 “aw”,並且測試這個程式。
-
寫一個方法,把字串轉為數字,比如 str="1234",變成 int 1234。並且測試這個程式。
程式設計
-
什麼是面向物件程式設計?
-
講下Java多執行緒的使用。
-
有三個執行緒T1,T2,T3,怎麼確保它們按順序執行?
-
Thread 類中的start() 和 run() 方法有什麼區別?
-
請寫一個執行緒安全的單例模型。
SQL
-
說下左連線和右連線。
-
介紹下什麼是索引。
-
使用sql生產10萬條資料。
-
給你一張表,根據要求寫sql,這個題目比較多,自己百度吧。
Linux
-
你常用的命令是什麼?
-
用什麼檢視log?
-
如何查詢一個檔案大小超過5M的檔案
-
如何檢視程序?