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的文件
-
如何查看進程?