從5月初開始找作業到現在,先后面試了阿里巴巴、位元組跳動、網易、快手的測驗開發崗,
大公司對于測驗開發的要求相比來說高很多,要求掌握的知識點的廣度和深度層次也比較高,遂整理了這兩個月的面試題目檔案供大家參考,同時也是為了方便以后自己需要的時候刷一刷,不用再去到處找題,希望大家都能找到滿意的作業,共勉之!
一、Web自動化測驗面試題
1.Selenium中hidden或者是display = none的元素是否可以定位到?
不能,可以寫JavaScript將標簽中的hidden先改為0,再定位元素,
2.Selenium中如何保證操作元素的成功率?也就是說如何保證我點擊的元素一定是可以點擊的?
- 添加元素智能等待時間 driver.implicitly_wait(30)
- 添加強制等待時間(比如python中寫 sleep)
- try 方式進行 id,name,clas,x path, css selector 不同方式進行定位,如果第一種失敗可以自動嘗試第二種
3.如何提高Selenium腳本的執行速度?
代碼優化,多任務,分布式部署都是可以提升腳本執行速度的,
4.用例在運行程序中經常會出現不穩定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩定性?
- time.sleep( )
- driver.implicitly_wait(30)
- 多用 try 捕捉,處理例外
5.你的自動化用例的執行策略是什么?
自動化測驗與軟體開發本質上是一樣的,利用自動化測驗工具,經過測驗需求分析,設計出自動化測驗用例,從而搭建自動化測驗的框架,設計與撰寫自動化腳本,驗證測驗腳本的正確性,最終完成自動化測驗測驗腳本(即主要功能為測驗的應用軟體)并輸出測驗結果,
6.自動化測驗的時候是不是需要連接資料庫做資料校驗?
從資料庫層面來進行資料校驗可以更方便驗證系統的資料處理方面是否正確,資料處理邏輯正常后,UI層面上的校驗也是需要做的,
7.id,name,class,xpath, css selector這些屬性,你最偏愛哪一種,為什么?
css 、xpath 幾乎所有的元素都可以定位到,但是它們的短處在于頁面上更改了元素后位置很容易改變,所以首先使用的還是id或者name等,
8.如何去定位頁面上動態加載的元素?
9.如何去定位屬性動態變化的元素?
10.點擊鏈接以后,Selenium是否會自動等待該頁面加載完畢?
11.什么是page object設計模式?
12.如何在定位元素后高亮元素(以除錯為目的)?
13.什么是斷言?
14.你覺得自動化測驗最大的缺陷是什么?
二、APPUI自動化測驗面試題
1.Android APP 記憶體不足時, 系統如何結束行程獲得記憶體?
系統優先結束被掛起(暫停)的行程,釋放記憶體,
2.APP 測驗常見的嚴重問題有哪些? 分別引起的原因有哪些?
常見的有 crash、ANR(應用無回應、卡死),一般由設備碎片化、網路波動大、記憶體泄漏、代碼撰寫錯誤,
3.請簡單介紹你曾使用過的一款 APP 自動化測驗工具 ?
開放性問題,帶點主觀意見
- 對比其他熟悉的自動化工具的優缺點,
- 自動化的簡要方案(簡要的同時關鍵內容請具體),(提示: appnium 等)
4.Android 測驗與 web 測驗有什么區別?
5.app 測驗有哪幾種環境?
6.簡單介紹一下 Android SDK 的安裝步驟
7.請簡要介紹一下移動應用及其服務端的測驗點?
8.如何判斷 app 的 bug 是客戶端問題還是后臺問題
9.安卓中如何取出日志資訊?
10.常見的 adb 命令
11.APP 這么多主流機型如何測驗 ?
12.App 崩潰(閃退),可能是什么原因導致的?
13.Appium 都有哪些啟動方式
14.請簡單介紹一下使用過的安卓 UI 自動化測驗工具?
15.請說明 Android 手機和 IOS 手機,系統有什么區別?
三、介面自動化測驗面試題
1.Webdriver可以用來做介面測驗嗎?
介面測驗有現成的模塊來處理,WebDriver是用于做WebUI自動化測驗的,如果要實作介面測驗,可以使用Requests模塊來實作
2.按你的理解,軟體介面是什么?
就是指程式中具體負責在不同模塊之間傳輸或接受資料的并做處理的類或者函式,
3.HTTP 和 HTTPS 協議區別?
https 協議需要到 CA(Certificate Authority,證書頒發機構)申請證書,一般免費證書 較少,因而需要一定費用;
http 是超文本傳輸協議,資訊是明文傳輸,Https 協議是由 SSL+Http 協議構建的可進行加 密傳輸、身份認證的網路協議,比http 協議安全;
http 和 https 使用的是完全不同的連接方式,用的埠也不一樣,前者是 80,后者是 443;
4.HTTPS 在哪一層?
HTTPS 在應用層與傳輸層之間

5.get 和 post 區別是什么?
POST 和 GET 都是向服務器提交資料,并且都會從服務器獲取資料,
區別:
- 傳送方式:get 通過地址欄傳輸,post 通過報文傳輸
- 傳送長度:get 引數有長度限制(受限于 url 長度),而 post 無限制
- GET 產生一個 TCP 資料包(對于 GET 方式的請求,瀏覽器會把 http header 和 data 一并 發送出去,服務器回應200 回傳資料),POST 產生兩個 TCP 資料包(對于 POST,瀏覽器先 發送 header,服務器回應 100continue,瀏覽器再發送 data,服務器回應 200 ok 回傳數 據)
- get 請求引數會被完整保留在瀏覽歷史記錄里,而 post 中的引數不會被保留
- 在做資料查詢時,建議用 GET 方式;而在做資料添加、修改或洗掉時,建議用 post 方式
6.常見的 POST 提交資料方式
7.什么是 Http 協議無狀態協議?怎么解決 HTTP 協議無狀態協議
8.cookie 和 session 的區別
9.請求介面中常見的回傳狀態碼
10.什么是 DNS?
11.請問你們公司是如何做介面測驗的?
12.怎么設計介面測驗用例?
13.你做介面測驗,測什么?
14.平常用什么工具測介面的?
15.沒有介面檔案,如果做介面測驗?
16.在手工介面測驗或者自動化介面測驗的程序中,上下游介面有資料依賴如何處理?
17.依賴于第三方資料的介面如何進行測驗?
18.介面測驗中,依賴登錄狀態的介面如何測驗?
19.你平常做介面測驗的程序中發現過哪些 bug?
……
最后感謝每一個認真閱讀我文章的人,作為一位過來人也是希望大家少走一些彎路,在這里我給大家分享一些自動化測驗的學習資源,如果你用得到的話可以直接拿走,希望能給你前進的路上帶來幫助,(包括Python編程、WEB自動化測驗、app自動化測驗、介面自動化測驗、測驗框架、持續集成、自動化測驗開發、性能測驗、安全測驗、大廠面試真題、簡歷模板等等、當然還有一些測驗基礎、工具、app測驗、介面測驗、linux、mysql資料庫等基礎知識),相信能使你更好的進步!這些學習資料我都放在我的測驗學習交流裙:1033482984 里面了,同時還有幾千個行業大佬相互進行技術交流、經驗分享,如果你也感興趣,那么期待你的加入,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/555781.html
標籤:其他
上一篇:Codeforces Round 881 (Div. 3)
下一篇:返回列表
