2023年最系統的自動化測試,測試開發(fā)面試題,10k以下不建議看(自動化測試面試寶典)

鑒于現在嚴峻的就業(yè)形勢,千萬大學生即將出新手村,今天給大家打包好了2023最能避免薪資倒掛的《面試圣經》。不經一番寒徹骨,怎得梅花撲鼻香。這份面試題,與君共勉!

2023年最系統的自動化測試,測試開發(fā)面試題,10k以下不建議看(自動化測試面試寶典)

一、開場白

Q:簡單自我介紹一下吧

Q:項目和實習經歷?(注意使用STAR法則表述)

二、軟件測試基礎

2.1 工作內容

Q:按測試內容劃分,測試有哪些種類?

Q:軟件開發(fā)(測試)的流程是怎么樣的?

Q:你印象最深刻的 bug 是?

Q:談談你對 CI/CD 的理解

Q:談談你對 DevOps 的理解

Q:什么是 BDD ? 什么是 TDD ?

Q:APP的一個頁面,你怎么區(qū)分是原生Native頁面,還是H5?

2.2 測試方法

Q:黑盒測試的方法有哪些?

Q:白盒測試的方法有哪些?

Q:什么是單元測試?

Q:什么是集成測試?

Q:測試用例怎么編寫與設計?

Q:什么是灰盒測試?

2.3 測試文檔

Q:測試用例都包含哪些要素?

Q:測試報告需要展示哪些要素?

Q:測試排期應該怎么估算?

Q:談談你構造數據的經歷?

2.4 自動化測試

Q:舉例說明,都有哪些功能可以用自動化來進行?

Q:如何判斷一個功能能否進行自動化測試?

Q:定位xpath路徑都有哪些方法?

Q:如何定位一個動態(tài)的元素?

Q:如何定位類似于懸浮在web頁面上的元素(類似于web上飛來飛去的廣告)

Q:列舉你知道的自動化測試工具

2.5 測試工具

Q:聊聊 fiddler 的抓包原理

Q:fiddler 怎么抓取 https 請求?

Q:wireshark 抓包的頭部有什么?

2.6 性能測試

Q:性能測試如何做的?

Q:性能測試需要關注哪些方面?

2.7 游戲測試

Q:印象最深的游戲是哪個?哪些方面最吸引你?

Q:印象最深的游戲里有過哪些bug,分析下原因

Q:如何對一個大地圖游戲進行測試?該有哪些測試點?

Q:測試程序設計的不合理 與 測試程序完善但是測試人員出現失誤,哪一項更嚴重?

Q:游戲測試的定位和職責你覺得是什么?

Q:游戲采用客戶端和服務器架構的必要性是什么?

Q:LOL腳本的原理是什么?

Q:為什么RPG游戲腳本沒有LOL這種競技類腳本開發(fā)的多?

Q:有一個觸發(fā)概率極低但是非常致命的BUG,明天項目一定要上線,你怎么處理,不用非得解決,就是問我怎么處理這種事。

Q:為什么想做游戲測試?

Q:讓你做一個游戲,你更想做哪個類型的(MMORPG?MOBA?FPS?RTS?)

Q:說說游戲史,除了游戲還有什么愛好?

Q:列舉你知道的游戲測試的測試工具

三、軟件測試實戰(zhàn)

3.1 排查問題的思路

Q:網頁崩潰的原因是什么?

Q:有個用戶反饋上傳頭像失敗,分析原因?

Q:app閃退的原因?

Q:偶然閃退的排查?

Q:網頁卡頓的原因是什么?

Q:10%的用戶反饋用不了功能,你講如何排查?

Q:登錄的按鈕不能點擊,如何排查問題?

Q:壓測的時候,QPS一直上不去,你會怎么排查?

Q:APP提示無法連接網絡,你會如何排查?

Q:怎么判斷一個BUG到底是前端的BUG還是后端的BUG?

3.2 實戰(zhàn)案例

Q:微博發(fā)動態(tài),設計一下測試點

Q:對一臺自動售貨機進行測試用例設計

Q:設計微信發(fā)紅包測試用例

Q:設計抖音直播功能測試用例

Q:設計微信掃碼支付的測試用例

Q:設計百度首頁的測試用例

Q:微信的點贊功能怎么測試?

Q:微信紅包是先計算每個人能獲得的錢還是當這個人點了再計算。

Q:微信朋友圈評論功能怎么測試?

Q:微信上線一個新的好友推薦功能功能如何測試?

Q:測試微信換頭像功能,設計測試用例

Q:抖音視頻的安全性測試,測試點有哪些?

Q:如果手機瀏覽器輸入baidu.com打不開頁面,你會怎么排查?

Q:設計輸入框測試用例?

Q:編寫一個登錄界面的測試用例?

Q:對一個接口編寫測試用例

Q:搜索功能怎么測試?

四、語言基礎

4.1 Java

Q:什么是多態(tài)?

Q:什么是GC?

Q:set 與 hashset 的區(qū)別

Q:map 與 hashmap 的區(qū)別

Q:hashmap 的查找,刪除,添加的時間復雜度

Q:查找所有java進程

Q:殺死java進程

Q:介紹一下 java 的拷貝、四種引用

Q:java容器有哪些?簡要介紹一下 java 的數組和鏈表

Q:談談你對 java 集合了解多少?

Q:Java 三大特性是什么?

Q:List 和 Map 有什么區(qū)別?

Q:談談 List、Set、Map的區(qū)別?

Q:重寫與重載的區(qū)別是什么?

Q:HashMap 和 HashTable 的區(qū)別是什么?

Q:ArrayList 和 LinkedList 的區(qū)別是什么?

Q:Map 的 put 方法

Q:java的封裝,java 的訪問權限關鍵字的作用域?

Q:為什么 java 要面向接口編程?

Q:什么是反射?

Q:interface 和 abstract 的區(qū)別是什么?

Q:熟悉 maven 么?談談你對 maven 的了解

4.2 Python

Q:全局變量和局部變量變量名能否一樣?

Q:Python 里 is 和 == 的區(qū)別?

Q:Python 變量的創(chuàng)建與消亡過程

Q:Python的垃圾回收的機制

Q:dict的底層結構,tuple和list的底層結構的區(qū)別

Q:深拷貝淺拷貝的區(qū)別是什么?

Q:什么是協程?

Q:什么是裝飾器?舉一個你用過裝飾器的例子

Q:@classmethod 和 @staticmethod 的區(qū)別,以及分別運用在哪些使用場景?

Q:什么是鴨子類型?

Q:python 的可變類型有哪些?

Q:python 常見的數據類型有哪些?

Q:列舉 python2 和 python3 的區(qū)別

Q:什么是lambda函數?怎么用?

Q:別的編程語言都有三目運算符,三目運算符在python中怎么表達?

Q:try…except…else 和 try…except…finally 的區(qū)別是什么?

Q:什么是可迭代對象?可迭代對象的原理是什么?

Q:with…as 的原理是什么?

Q:解釋一下python的GIL鎖

Q:python 是單繼承還是多繼承?

Q:python 繼承的順序是什么?

Q:什么是元類?

Q:為什么都說 python 慢?

4.3 Shell

Q:什么場景下,適合編寫 Shell 腳本來處理?

4.4 C

Q:指針和引用的區(qū)別是什么?

五、數據結構與算法

5.1 鏈表

Q:一個有序鏈表,怎么求第K大個節(jié)點?

Q:怎么找出這兩個鏈表是否有相交的點

Q:數組與鏈表的區(qū)別

Q:鏈表逆序

5.2 數組

Q:怎么對倆有序數組合并?

Q:求數組中和為 n 的兩個數,時間復雜度是多少?

Q:int 型數組,怎么排序?

Q:int 型數組,怎么去重?

5.3 復雜度

Q:時間復雜度是什么?

Q:怎么計算時間復雜度?

5.4 排序

Q:八大排序都有哪些?

Q:快排的原理

Q:歸并排序的原理

Q:冒泡排序的原理

Q:插入排序的原理

Q:選擇排序的原理

5.5 樹

Q:數的定義,代碼實現

Q:什么是樹的高度?怎么求?

Q:計算二叉樹節(jié)點的個數

Q:什么是根結點?什么是葉子節(jié)點?

Q:打印二叉樹

5.6 遞歸

Q:什么是遞歸?

Q:遞歸的時間復雜度是什么?

5.7 字符串

Q:字符串長度可以改變么?

5.8 堆與棧

Q:堆和棧都有什么區(qū)別

Q:代碼實現棧

5.9 動態(tài)規(guī)劃

Q:什么是動態(tài)規(guī)劃?

5.10 高級算法

Q:什么是深度遍歷?什么是廣度遍歷?

5.11 查找

Q:能夠實現二分查找的必要條件是什么?

5.12 哈希

5.13 圖

六、框架

6.1 開發(fā)框架

6.1.1 Django

Q:簡單介紹一下Django的目錄結構

Q:了解什么是MVC么?為什么說 Django 是MTV模型?

Q:一個網絡請求在Django中的實現過程

Q:uwsgi是什么?用uwsgi和用Django的原生啟動方式,有什么區(qū)別?

Q:了解 ORM 么?簡單介紹一下Django的ORM映射

Q:Django的 CBV 和 FBV 的區(qū)別?實際項目中你會使用哪種方式?為什么?

Q:怎么把 Django 的 module 同步到數據庫中?同步過程中會遇到什么坑么?

6.1.2 Spring

Q:Spring 框架介紹

Q:什么是 IOC?

Q:什么是 DI?

Q:什么是 AOP?

6.2 測試框架

6.2.1 selenium

Q:selenium框架的運行原理

Q:selenium定位元素的方法都有哪些

6.2.2 Appium

Q:Appium用過嗎?原理是什么?

6.2.3 Unittest

6.2.4 Pytest

6.2.5 TestNG

6.2.6 Junit

七、計算機基礎

7.1 計算機網絡

7.1.1 TCP/UDP

Q:簡單介紹 TCP 三次握手(為什么不是兩次、四次)

Q:四次分手是什么?

Q:TCP 擁塞是什么?

Q:TCP怎么保證安全的,UDP能否也像TCP那樣安全,怎么做?

Q:你知道 tcp 的控制可靠性的策略和重傳機制么?

Q:TCP協議屬于哪一層?

7.1.2 HTTP/HTTPS

Q:cookie 和 session 機制、區(qū)別

Q:輸入url到網頁顯示出來中間的過程

Q:列舉你知道的網頁狀態(tài)碼

Q:3 開頭的網絡狀態(tài)碼的含義是什么?302和304的區(qū)別是什么?

Q:4 開頭的網絡狀態(tài)碼含義是什么?

Q:5 開頭的網絡狀態(tài)碼含義是什么?

Q:什么是 HTTPS?原理是什么?

Q:GET 和 POST 的區(qū)別是什么?

Q:網絡請求 method 有哪幾種?

Q:簡單介紹一下什么是 RESTful API

Q:PUT 和 POST 的區(qū)別

Q:列舉常見的請求 Header 頭

Q:一個HTTP請求報文是什么樣的?(GET舉例)

Q:GET 的長度限制了解么?

7.1.3 其他

Q:最大連接數和QPS區(qū)別

Q:網絡一共分為幾層?

Q:客戶端向服務器請求圖片和動態(tài)資源的區(qū)別

Q:圖片渲染的過程 前端

Q:網絡七層有哪些?tcp,udp,arp都在哪一層?

Q:QPS 和 TPS 的區(qū)別是什么?

Q:解釋一下DNS

Q:什么是反向代理?

Q:什么是 socket?

Q:【手撕】用 socket 實現一個聊天室功能?

7.2 操作系統

7.2.1 進程/線程

Q:進程與線程的區(qū)別?

Q:何時cpu處理進程最慢?

Q:為什么會出現死鎖?

Q:進程間通信的方式?

Q:線程間通信的方式?

Q:如何做到線程同步?

7.2.2 Linux

Q:linux切換目錄

Q:linux命令,統計一個文本中關鍵字出現的次數

Q:linux 查找當前目錄下所有后綴為 .py文件

Q:知道的linux常用命令:查看指定端口進程

Q:cd – 和 cd ~

Q:linux 查看某個進程命令怎么寫

Q:如何查看日志?怎么查看后500條日志?

Q:awk有什么用?如何用(舉個例子)?

Q:如何查看系統性能?

Q:如何查看剩余磁盤空間大小?

Q:如何查看目錄占空間大???

Q:你知道 xarg 的用法嗎?

Q:怎么從本地計算機與服務器中進行文件傳輸?

Q:測試服務器之間怎么進行文件拷貝?

Q:sed 有什么用?如何用(舉個例子)?

Q:怎么殺死一個進程?

Q:怎么遞歸刪除一個目錄下的所有文件?

Q:怎么查看內存大?。?/span>

Q:怎么查看 CPU 使用情況?

Q:怎么重啟 Linux 服務器?

Q:怎么打印出一個文件的第500-1000行?

7.2.3 文件存儲

Q:靜態(tài)存儲和動態(tài)存儲的區(qū)別

Q:視頻在服務器的存儲幾種方式

Q:CDN有什么用?

Q:為什么前端靜態(tài)資源要上傳到CDN上?

7.2.4 其他

Q:系統資源包括哪些?

Q:什么是 IO 操作?

Q:什么是內存?

Q:什么是硬盤?

Q:什么是CPU?

Q:什么操作比較消耗CPU?

Q:什么是UTF-8?什么是Unicode?

Q:什么是 IO 多路復用?以及怎么實現?

Q:談談什么是分布式?為什么要用分布式?

7.3 數據庫

7.3.1 非關系型數據庫

Q:非關系型數據庫有哪些?

Q:Redis的數據結構有哪些?

Q:Redis 和 Memcached 的區(qū)別?

Q:Redis 的用途?

Q:Redis一秒能寫入多少數據?

Q:Redis為什么快?

Q:Redis的過期時間怎么設置?哪些場景適合緩存更長時間?

Q:什么是緩存雪崩?

Q:什么是緩存擊穿?緩存擊穿和緩存穿透的區(qū)別是什么?

Q:什么時候適合用MongoDB?

Q:Redis 適合做消息隊列嗎?為什么?

Q:Redis 的數據是存儲在內存當中的,假如斷電之后就會造成數據丟失,那怎么對 Redis 進行數據固化?

7.3.2 關系型數據庫

數據庫基本理論

Q:有哪些數據庫優(yōu)化的方式?

Q:關系型數據庫和非關系型數據庫的區(qū)別?

Q:數據庫的事務有什么用?什么時候應該使用事務,什么時候不該使用事務?

Q:數據庫索引有什么用?什么是聯合索引?

Q:主鍵適合用自定義ID還是自動ID?

Q:外鍵是什么?為什么大公司有時候不建議使用外鍵?

Q:索引設置得越多越好嗎?索引得優(yōu)缺點是什么?

Q:InnoDB是基于什么實現的?

Q:為什么會造成數據庫死鎖?怎么解決?

Q:事務都有哪些特點?

Q:數據庫設計的三大范式是什么?

Q:一張數據表最多不建議超過多少行?

Q:為什么要進行分表分庫?

Q:分表分庫有哪幾種方式?舉例說明

SQL

Q:【手撕】數據庫,查找一個學生兩門功課都大于80分的姓名

Q:【手撕】聯表查詢2個表中工號為“123”的人的所有信息

Q:【手撕】一個人員表,一個部門表,人員表中存了部門id,查人員表各部門表所有數據

Q:【手撕】查詢一個城市列表里面重復的城市名,并且統計重復次數

Q:【手撕】查找一個學生成績表中平均分數大于90分的學生名單

Q:【手撕】查找學生成績表中平均成績最高的同學

Q:數據庫怎么拷貝數據?

Q:刪除數據的方式有哪些?說說 drop table和truncate table的區(qū)別?

八、智力題

Q:跳臺階問題

Q:4分鐘沙漏和7分鐘沙漏怎么漏出9分鐘

Q:兩個粗細不同的香,燃盡時間都是1個小時,怎么用這個2根香計算15分鐘的時間

Q:賽馬

Q:10堆蘋果,每堆10個,9堆每個50g,1堆每個40g,有一個稱,求只稱一次,找出這個輕的一堆

Q:飛機加油問題

Q:邏輯:四個開關四個燈泡

Q:地球弧形

九、編程題

Q:求最大回文個數

Q:一個數組中有正數有負數(沒有0),請將它排成正負相間的數組(多余的全部放后面),時間復雜度不超過O(n);

Q:一道編程題,輸入一串由ABCD四個字隨機組成的字符串和一個整數k,返回字符串種前k個字的順序重復了幾次。

Q:編程:判斷一個字符串是否符合ipv4格式

Q:代碼題,給一個句子,只把單詞翻轉然后輸入

Q:【手撕代碼】字符串中只出現一次的字符、找出數組中最小的四個數字

Q:代碼:一串字符串中最小的整數

Q:寫代碼,類似高考成績,一個表中有很多數據(無序的),給你一個成績,查出在表中的排名

Q:編程題,雞兔同籠,一半的兔子伸起一半的腳,輸入地上有幾只腳,列出所有的可能性(兔子是基數則整除2)

Q:判斷一個字符串是否是點分十進制的ipv4格式

Q:100萬個學生 按照成績 及對應排名錄入 分數查找排名(hashmap)

Q:python的編程題,輸入一個字符串然后空格切割在統計每個字母出現的次數

十、HR常問

Q:為什么想做測試

Q:對測開的理解

Q:測試過程中有沒有出現問題,是如何解決的

Q:最近看了什么書?學了什么?為什么學?有看什么技術書籍嗎?

Q:個人優(yōu)缺點,舉例

Q:測試看重什么能力

Q:項目問題細挖

Q:為什么選擇xx公司?

Q:你對我們公司有什么了解嗎?

Q:之前實習收獲了什么

Q:介紹下自己的優(yōu)缺點

Q:抗壓能力如何,描述一件自己如何抗壓的經歷

Q:反問環(huán)節(jié):你有什么問題想問我么?

Q:項目中收獲了什么?

Q:平時怎么學習的

Q:為什么要離職?

Q:你的期望薪資是多少?

2023年最系統的自動化測試,測試開發(fā)面試題,10k以下不建議看(自動化測試面試寶典)

結語

最后再說一遍,這是針對自動化測試甚至測開崗位的面試題,很多面試初級測試功能測試不會問的,比如算法,SQL那些,即使問了也不會問很深!

鑒于篇幅所限,這里無法放上答案,有需要完整面試題的可以私信我關鍵詞“面試”免費獲?。?/strong>

以上,祝好!

相關新聞

聯系我們
聯系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部