2020軟件測試工程師面試題集錦


背景:雖然測試行業在2019不太景氣,面試后的一些面試題歸集和總結,為了將來面試時使用。

 所有的面試題中我發現超過90%都是基礎性的面試題,只要有自動化基礎,功能測試接觸,再加上面試的時候態度ok,且不卑不亢即可

切記,面試時一定要不卑不亢,切記心浮氣躁和心虛  ,你懂得!

 一、以下是我面試的經驗所得

1、http與https有何區別

答案:

①https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

②http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

③http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

④http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。

2、tcp/ip三次握手

①含義理解

TCP/IP協議不僅僅指的是TCP 和IP兩個協議,而是指一個由FTPSMTP、TCP、UDP、IP等協議構成的協議簇, 只是因為在TCP/IP協議中TCP協議和IP協議最具代表性,所以被稱為TCP/IP協議。

②三次握手:

(1)客戶 端發送一個帶SYN標志的TCP報文到server。這是三次握手過程中的報文1。
(2) server端回應client的,這是三次握手中的第2個報文。這個報文同一時候帶ACK標志和SYN標志。

因此它表示對剛才clientSYN報文的回應。同一時候又標志SYN給client,詢問client是否准備好進行數據通 訊。

(3) 客戶必須再次回應服務段一個ACK報文,這是報文段3。

(4)連接終止協議(四次握手)

3、悲觀鎖和樂觀鎖

悲觀鎖:

  悲觀鎖原理是每次獲取數據的時候,都會擔心自己數據被修改,所以每次獲取數據的時候都會進行加鎖,確保在自己使用的過程中數據不會被別人修改,使用完成后再進行數據解鎖。由於數據進行加鎖,期間對該數據進行讀寫的其他線程都會進行等待。在Java中,synchronized的思想也是悲觀鎖。(如:同一個數據庫表A用戶在操作時B用戶不能進行操作)

適合寫入較頻繁場景,如出現大量的讀取操作,每次讀取都會進行加鎖,這樣會增加大量的鎖的開銷,降低了系統的吞吐量。

樂觀鎖:

適合讀取操作比較頻繁的場景,如果出現大量的寫入操作,數據發生沖突的可能性就會增大,為了保證數據的一致性,應用層需要不斷的重新獲取數據,這樣會增加大量的查詢操作,降低了系統的吞吐量。

 (如:A用戶操作一個表,B用戶同時操作這個表,樂觀鎖認為不會沖突,但實際會造成沖突)

4、左連接、右連接和全連接

左連接:左邊有的,右邊沒有的為null

右連接:左邊沒有的,右邊有的為null

內連接:顯示左邊右邊共有的

 

5、數據庫中sum和count的區別以及使用

一般面試會把sum與order by 分組一起使用

count:統計你查詢出來的數據記錄條數  :select count(*) from 學生表;

sum:求和     :select sum(chengji) from 學生表 where name='張三';

 

6、軟件測試流程

 

7、軟件測試方法有哪些?

黑盒、白盒、灰盒

 

8、jmeter中跟蹤重定向和自動重定向區別?

 1)跟蹤重定向通俗的理解就是跟蹤請求執行的過程,並記錄一些信息給開發者看到,我們一般可以在結果日志和監控中看到

 2)自動重定向是不用跟蹤請求執行過程,也不用記錄

9、數據庫中事物是什么?有哪些特性

 

10、軟件測試方案包含哪些內容

11、設計一個模塊測試用例

考察面試者的經驗、用例設計能力、思維、以及掌握的測試方法是否全面

從功能測試、接口測試、性能測試方面分析

12、自動化測試selenium 顯示等待和隱式等待

顯示等待就是有條件的等待
隱式等待就是無條件的等待

顯示等待:

# 設置等待時間
WebDriverWait(driver, 3, 0.5) #傳入三個參數,第一個是瀏覽器驅動,第二個是等待多少秒,第三個是每隔多少秒監控一次
原理:指定一個等待條件,和一個最長等待時間,程序會判斷在等待時間內條件是否滿足,如果滿足則返回,如果不滿足會繼續等待,超過時間就會拋出異常

隱士等待:

browser.implicitly_wait(10) #直接等待10秒鍾
當查找元素或元素並沒有立即出現的時候,隱式等待將等待一段時間再查找 DOM,默認的時間是0

13、pytest如何管理測試用例?

    1)掌握案例規則,如以test_開頭,類以Test命名等

    2)案例文件執行單個py如何執行,多個文件夾的管理方式

 14、cookie、token、session的區別

點擊鏈接獲取答案:

Cookie、token、session的區別是什么?

 

15、軟件測試通過的標准是什么?

回答:

1、ISO90001-ISO90004標准

2、通過案例執行完成,bug驗收通過,完成功能測試、集成測試(等等)

 16、列出安裝httpd的兩種方法

答案:

方式一:通過官網下載httpd-2.4.29.tar.gz 包進行安裝、配置,這種方式繁瑣,過程會報錯

方式二:通過命令yum install httpd安裝,此種方式簡單

更多參考轉載簡書:https://blog.csdn.net/qq_33440246/article/details/79436858

17、批量刪除 /home/test/dist 下的所有進程

   taskkill是用來終止進程的

指定刪除:TASKKILL //IM 

批量刪除:TASKKILL //IM dirname

 

 18、查看虛擬機端口是否被占用

ps -ef|grep 8080  可以查看到8080在哪個地方被占用了

 

以上,持續更新中.....

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM