2024年軟件測試崗必問的100+個面試題【含答案】

一、基礎理論

1、開場介紹

介紹要領:個人基本信息、工作經歷、之前所做過的工作及個人專長或者技能優勢。揚長避短,一定要口語化,語速適中。溝通好的就多說幾句,溝通不好的話就盡量少說兩句。舉例如下:

面試官你好,我叫XXX,來貴公司面試軟件測試崗位,我之前從事軟件測試工作大概有X年了,一直在XXX公司做,工作中所涉及的技術主要包括:功能測試相關的兼容、易用等,此外還涉及接口及自動化方面的測試,但還是及功能測試為主,所涉及的項目比如WEB/APP/小程序這些都做過,大致的情況請面試官看下我的簡歷,希望我的情況能夠滿足貴公司的要求,謝謝!

2、公司的測試流程?

1、閱讀相關文檔(如產品PRD、UI設計、產品流程圖等)。
2、參加需求評審會議。
3、編寫測試計劃。(根據最終確定的需求文檔)
4、編寫測試用例(等價類劃分法、邊界值分析法等)。
5、用例評審,給出冒煙用例(主要參與人員:開發、測試、產品、測試leader)
6、開發冒煙測試,并發提測郵件
7、執行測試用例,記錄bug
8、驗證bug與回歸測試。
9、寫測試報告,給產品發驗收郵件,并配合驗收
10、版本上線
11、線上日志分析,跟蹤

3、你用過哪些用例設計方法?

白盒測試:邏輯覆蓋、循環覆蓋、基本路徑覆蓋
黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態圖法、測試大綱法、隨機測試場景法

4、如何測試一個 紙杯?

1、功能度:用水杯裝水看漏不漏;水能不能被喝到
2、安全性:杯子有沒有毒或細菌
3、可靠性:杯子從不同高度落下的損壞程度
4、可移植性:杯子在不同的地方、溫度等環境下是否都可以正常使用
5、兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等
6、易用性:杯子是否燙手、是否有防滑措施、是否方便飲用
7、用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述
8、疲勞測試:將杯子盛上水(案例一)放 24 小時檢查泄漏時間和情況;盛上汽油(案例二)
放 24 小時檢查泄漏時間和情況等
9、壓力測試:用根針并在針上面不斷加重量,看壓強多大時會穿透

5、設計一個登錄頁面的用例(提供某個場景設計用例,重點!)

● 功能測試:正確輸入、為空輸入、字符類型校驗、長度校驗、密碼是否加密顯示、大寫提示、跳轉頁面是否成功、登出后用另一個賬號登錄
● UI:界面布局合理、風格統一、界面文字簡潔好理解、沒有錯別字
●?性能測試:打開登錄頁面需要幾秒、點擊登錄跳轉首頁需要幾秒、多次點擊、多人點擊
● 安全性:用戶名和密碼是否加密發送給服務器、錯誤登錄的次數限制(防止暴力破解)、一臺機器登錄多個用戶、一個用戶多方登錄、檢查元素能否看到密碼
● 兼容性測試:不同瀏覽器、不同的平臺(Windows Mac)、移動設備能否工作
● 易用性:輸入框可否tab鍵切換、回車能否登錄等

6、什么是代碼覆蓋率?

是軟件測試中的一種度量,描述程序中源代碼被測試的比例和程度,所得比例稱為代碼覆蓋率。在做單元測試時,代碼覆蓋率常常被拿來作為衡量測試好壞的指標,甚至,用代碼覆蓋率來考核測試任務完成情況,比如,代碼覆蓋率必須達到80%或 90%。
代碼覆蓋率 = 代碼的覆蓋程度,一種度量方式。

代碼覆蓋率的意義

  1. 分析未覆蓋部分的代碼,從而反推在前期測試設計是否充分,沒有覆蓋到的代碼是否是測試設計的盲點,為什么沒有考慮到?需求/設計不夠清晰,測試設計的理解有誤,工程方法應用后的造成的策略性放棄等等,之后進行補充測試用例設計。
  2. 檢測出程序中的廢代碼,可以逆向反推在代碼設計中思維混亂點,提醒設計/開發人員理清代碼邏輯關系,提升代碼質量。
  3. 代碼覆蓋率高不能說明代碼質量高,但是反過來看,代碼覆蓋率低,代碼質量不會高到哪里去,可以作為測試自我審視的重要工具之一。

覆蓋率數據只能代表你測試過哪些代碼,不能代表你是否測試好這些代碼。不要過于相信覆蓋率數據。不要只拿語句覆蓋率(行覆蓋率)來考核你的測試人員。測試人員不能盲目追求代碼覆蓋率,而應該想辦法設計更多更好的案例,哪怕多設計出來的案例對覆蓋率一點影響也沒有。

7、了解中間件嗎?有哪些?

1、服務注冊、發現:
常見的有zookeeper,主要功能是讓網關知道有哪些服務,還有服務的位置(注冊中心),服務是否正常運行等(健康檢查),與網關一起合作,將用戶發送的請求導向正確的處理模塊。

2、消息隊列:
消息隊列簡介很透徹的文章 https://www.zhihu.com/question/54152397
常見的有reids等,主要功能是當請求量過大時,可以將請求放入到隊伍中排隊,再一一去處理,需要注意的是redis會將隊列儲存在內存里,需要準備足夠的內存資源。

你為啥用MQ消息隊列?
1、用于“異步、削峰、解耦”三大場景
消息隊列有啥問題么?
1、比如消息重復消費、消息丟失、消息的順序消費等等

3、NG
4、dubbo
5、MQ

8、以后的發展規劃?

1.積累行業的業務知識
2.豐富測試技能如代碼編寫能力
3.提升開發小工具插件的能力
4.管理協調能力,獨立帶版本團隊

8、測試開發、與測試的區別?
1、一個側重業務,一個側重自動化或工具
2、測試開發的核心職能依然是測試
3、測試開發:利用開發能力解決測試工作中的問題,小到生成數據、并發模擬等工具的開發,大到整個自動化測試平臺的設計與實現,旨在提高效率,降低成本

9、什么是測試左移、右移?

測試左移:本質上是借助工具和測試手段更早地發現問題和預防問題。
1)需求:對需求、架構和設計模型的測試
2)開發:著重增加對單元、組件和服務層的測試
3)持續測試:自動化測試
落地:測試任務跟蹤,不僅僅只是跟蹤測試本身的工作,還需要介入到需求、技術方案、編碼的全過程。只有前序每一步都跟蹤到位,才能盡量避免測試過程中的不可控因素,從而保證產品質量

測試右移:
對測試同學來說,版本上線后需要持續關注線上監控和預警,及時發現問題并跟進解決,將影響范圍降到最低。
1)灰度發布:新版本線上測試;
2)服務監控:合理的性能監測、數據監控和預警機制;
3)用戶反饋:線上問題處理、跟蹤機制

10、adb常用命令有哪些?

adb devices, 獲取設備列表及設備狀態
adb connect 127.0.0.1:7555 連接設備
db get-state , 獲取設備的狀態
adb shell ps | grep adbd ,可以找到該后臺進程
adb install 用于安裝
adb uninstall 用于卸載
adb shell pm list package 獲取設備應用信息
adb logcat 在cmd窗口查看手機的Log日志

11、舉例說明項目推進的能力(針對個人評價的舉例說明)

● (例)推動開發解決菜單權限需退出登錄才可應用的問題。描述:XX項目上線后,由于權限更新導致用戶無法使用舊界面+用戶不懂得自己退出登錄以應用新菜單權限,線上多個用戶反饋平臺相關功能無法使用。處理:遠程操作+線上指導出現問題的用戶退出登錄,凌晨腳本批量強制用戶退出登錄。推進:在下一次版本中,推動開發處理菜單權限更新問題,以防每次更新菜單都出現用戶使用不了功能的問題。結果:處理為用戶登錄期間仍可使用舊界面,直到用戶退出重新登錄后,才應用新菜單權限
● 推動冒煙:冒煙不通,測試召開會議羅列項目不通的模塊、存在的問題,一一對應到每個人去跟進,得到解決的時間,后續項目群說明并艾特每個人跟進。測試準時驗收
● 推動文檔質量:在日常工作中遇到需求文檔、設計文檔、接口文檔不規范或不詳細的在絕大多數,這個時候就要通過溝通或以bug的形式,促使各個崗位將各自的文檔完善
● 結合自己的個人經驗,從問題描述+處理過程+推進表現+結果,一一說明

12、印象深刻的一個bug?

○ 隱藏得比較深的bug、影響比較大的bug、處理過程比較曲折的bug。根據自己的經驗描述:如何發現的、如何處理、影響、結果、反思。
○ 舉例說明:如升級版本兼容性問題、接口安全性問題、數據庫安全性問題、服務器資源占用溢出問題、代碼邏輯問題等

13、你們公司是不是敏捷開發?介紹一下敏捷開發?

○ 是,敏捷快速迭代、多版本同時迭代
○ 敏捷開發屬于增量式開發,對于需求范圍不明確、需求變更較多的項目而言可以很大程度上響應和擁抱變化、主張簡單、擁抱變化、可持續性、遞增的變化、高質量的工作、快速反饋、軟件是你的主要目標

14、復盤會議的主要內容有哪些?

○ 這點需要結合自己平時參與的項目會議舉例說明。如線上bug分析、優化改進策略、bug優先級等等

15、app的兼容性怎么測,app的接口測試怎么測?

● 系統兼容(ios、安卓)、機型兼容(iPhone、華為、小米、三星、vivo、OPPO)、分辨率兼容、軟件本身向前向后兼容
● 接口測試:獲取接口文檔,使用fiddler抓包工具獲取接口的請求方式、url、請求參數、返回參數,然后使用postman、jmeter進行測試

16、web端測試和app端測試有何不同(常見)

● 系統結構方面
○ web項目,b/s架構,基于瀏覽器的;web測試只要更新了服務器端,客戶端就會同步會更新
○ app項目,c/s結構的,必須要有客戶端;app 修改了服務端,則客戶端用戶所有核心版本都需要進行回歸測試一遍
● 兼容方面
○ web項目:a. 瀏覽器(火狐、谷歌、IE等)b. 操作系統(Windows7、Windows10、Linux等)
○ app項目:a. 設備系統: iOS(ipad、iphone)、Android(三星、華為、聯想等) 、Windows(Win7、Win8)、OSX(Mac)b. 手機設備可根據 手機型號、分辨率不同
● 性能方面
○ web項目 需監測 響應時間、CPU、Memory
○ app項目 除了監測 響應時間、CPU、Memory外,還需監測流量、電量等
● 相對于 Wed 項目,APP有專項測試
○ 干擾測試:中斷,來電,短信,關機,重啟等
○ 弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開后重連、3g切換到4g/wifi 等)
○ 安裝、更新、卸載
■ 安裝:需考慮安裝時的中斷、弱網、安裝后刪除安裝文件等情況
■ 卸載:需考慮 卸載后是否刪除app相關的文件
■ 更新:分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新
● 界面操作:關于手機端測試,需注意手勢,橫豎屏切換,多點觸控,前后臺切換
● 安全測試:安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄等
● 邊界測試:可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等
● 權限測試:設置某個App是否可以獲取該權限,例如是否可訪問通訊錄、相冊、照相機等

二、測試工具篇

1、介紹一下測試中常用的工具(基礎,掌握!)

○ 需求問題跟進、測試計劃、風險評估登記、測試報告、復盤會議:wiki
○ 測試用例:Xmind編寫,testlink管理
○ 測試執行:elk、Xshell等
○ bug管理:Jira、bugfree、禪道等
○ 接口相關:charles、fiddler、postman、jmeter等
○ 自動化相關:selenium、appium、pytest、locust、jmeter等

2、用什么工具對用例進行管理

○ testlink管理用例的一般步驟:新建計劃、新建版本、上傳xml文件、添加測試用例到測試計劃中、分配測試用例給開發、查看用例執行報告
○ xmind:xxxxxx
○ excel:xxxxxxx

3、怎么使用elk定位日志

○ 查看產品推送是否成功。產品從A平臺推送到B平臺,根據A平臺的鏈接id,搜索對應的日志。搜索不到,則為A平臺推送失敗。搜索到了,查看推送的狀態,進一步判斷問題所在。
○ 使用官方文檔,可以進一步了解elk日志查看

4、Xshell如何登錄,如何切換目錄

○ 使用ssh密鑰登錄:生成密鑰公鑰和私鑰-上傳公鑰到服務器-配置Xshell使用密鑰認證方式登錄到服務器(參考:https://www.cnblogs.com/Black-rainbow/articles/9418713.html)34
○ 使用賬號密碼登錄:配置中輸入被連接服務器的賬號、密碼、ip及端口連接

5、埋點測試怎么測試,使用什么工具,數據要不要入庫

○ 使用charles、fiddler抓包,查看對應的來源記錄、事件等必要參數是否正確,查看數據庫記錄是否正確

6、介紹fiddler和postman的區別

○ fiddler主要是抓包,postman主要進行接口請求

7、怎么使用postman進行多個接口請求?

○ 將多個接口請求歸納到一個集合里,在集合的右上角點擊展開箭頭,點擊run

8、日常工作中jmeter是怎么用的?

○ 接口測試:通過對指定接口進行請求訪問,驗證數據出入的準確性與安全性
○?性能測試:編寫對應的測試集,通過腳本控制線程數,實現逐步加壓等
○ 結合自己項目經驗,沒有經驗千萬不能盲目舉例亂說,避免坑自己

9、例舉熟悉的自動化測試工具,并說明其實現原理

○ selenium 過程如下:
ⅰ. 運行用python寫好的selenium腳本,它會像web service中發送一個http請求
ⅱ. 瀏覽器驅動中的web service 會根據這個請求生成對應的js腳本,因為不同的瀏覽器,相同的操作生成的js腳本會有所不同,因此不同的瀏覽器要有不同的驅動
ⅲ. js腳本驅動瀏覽器,產生各種操作,并返回給web service
ⅳ. web service將結果通過http響應的形式返回給客戶端
○ appium的加載過程
ⅰ. 調用Android adb完成基本的系統操作
ⅱ. 向Android上部署bootstrap.jar
ⅲ. bootstrap.jar Forward Android的4723端口到PC機器上
ⅳ. PC上監聽端口接收請求,使用webdriver協議
ⅴ. 分析命令并通過forward 端口發給bootstrap.jar
ⅵ. bootstrap.jar接收請求并把命令發給uiautomator
ⅶ. uiautomator執行命令

三、測試管理題目

1. 如果項目周期很短,測試人力匱乏,你是怎么協調的?

答: 依據代碼review的結果和影響范圍,對測試內容進行適當的裁剪。
借助自動化工具的支持,提高測試案例的執行效率。
調整組內任務的優先級,進行人力協調,優先投入最緊要的項目。
必要的情況下加班

2. 你團隊的測試如何進行分工?

答:業務壓力大的時候,業務為主,技術為輔
業務少的時候,技術為主,業務也不丟
老人帶新人,新人幫老人,選出業務領頭人和技術領頭人,形成團隊梯隊

3. 對于團隊成員,你是如何打kpi的?

答: 成員自評和一對一溝通,了解成員的想法對于老黃牛類型的,吃苦賣力但是沒有突破的,給中等績效
對于老白兔類型的,混吃等死,計劃淘汰
對于獨狼類型的,搶食,不聽指揮的,果斷淘汰
對于頭狼類型的,吃苦賣力,有驚喜,給優秀績效

4、做了哪些來提升版本質量?

1.測試左移,右移
2.需求分析階段,找出業務復雜點重點設計測試用例
3.提測要有輸出,整理修改哪些功能,自測,代碼檢查
4.回歸測試,自動化測試來輔助
5.bug回溯與分析總結
6.需求分享與總結
7.代碼覆蓋率檢查用例是否有遺漏場景

5、如何做好軟件測試管理人員?

1.具有較好的人格魅力和親和力
2.最好具備較強的測試技術水平
3.樂意處理下屬在項目中碰到的困難
4.勇于承擔責任,把功勞推給測試團隊
5.對下屬多一些寬容和生活關心
6.力爭多給下屬爭取福利
7.多給下屬鍛煉機會,培養下屬能力
8.多給下屬精神鼓勵,獎懲公私分明
9.知人善用,用人之長,合理分工
10.較強的行業和業務知識背景

四、接口測試題目

1、如何使用抓包工具fiddler、Charles對APP抓包?

Fiddler可以抓取支持http代理的任意程序的數據包
如果要抓取https會話,要先安裝證書。默認端口是8888
1.設置fiddler https
2.電腦Fiddler和手機設備需要在同一個局域網,查看電腦IP,cmd命令行執行ipconfig查看
3.設置代理IP,手機上打開無線局域網的設置
4.通過瀏覽器/Safari下載安裝證書
5.安裝了證書不是默認啟用的,而是需要手動開啟。設置-通用-關于本機-證書信任設置
iOS與Android的區別是:iOS需要安裝證書,Android不需要

2、給你一個接口怎么測試?

在這里插入圖片描述

五、自動化測試題目

1、自動化測試的目的?

a.用來回歸
b.用來監控系統穩定性
c.提高工作效率

2、三種等待時間的區別和應用場景?

1、強制等待sleep(10)

2、隱式等待
driver.implicitly_wait(10)
1)在每個頁面加載的時候自動等待
2)一般在打開瀏覽器后進行聲明
3)在設置等待時間內頁面都沒有加載完,就超時拋出異常

3、顯示等待
wait = WebDriverWait(driver,10,0.5)
1)針對于某個特定的元素設置的等待時間,在設置時間內,默認每隔一段時間檢測一次當前頁面某個元素是否存在
2)如果在規定的時間內找到了元素,則直接執行,即找到元素就執行相關操作
3)如果超過設置時間檢測不到則拋出異常。
4)默認檢測頻率為0.5s,默認拋出異常為:NoSuchElementException

3、之前項目做過自動化測試嗎?如何進行推進的?

來源:https://testerhome.com/articles/25754
前端 UI 方面我是用 selenium 這個開源框架加上 Python 基礎架構來實現自動化
實現原理:用一些單元測試框架 pytest去組織我們的測試用例
數據驅動:比如說我們用 execl 表去做一個數據驅動,然后我們用到一些關鍵字驅動

對你公司項目產生了什么樣的價值?
成為我們公司的一個固定資產。
不管是開發、產品、運營,都會用到咱們的這個自動化腳本。可以幫我們線上監控,幫我們自動化回歸,幫我們造數據,幫我們跑數據,提高了迭代效率,釋放了很多人力。

4、jmeter什么是采樣器(samplers)和線程組(thread group)?

線程組:對于任何測試計劃,線程組元件都是 JMeter 的開始部分。這是 JMeter 的重要原件,你可以再其中設置多個用戶和時間來加載線程組中給出的所有用戶。

采樣器:采樣器生成一個或多個采樣結果,這些采樣結果具有許多屬性,例如經過時間、數據大小等。采樣器允許 JMeter 通過采樣器將特定類型的請求發送到服務器,線程組決定需要發出的請求類型,一些有用的采樣器包括 HTTP 請求,FTP 請求、JDBC 請求等

5、自動化測試流程?

1.編寫自動化測試計劃
2.設計自動化測試用例
3.編寫自動化測試框架和腳本
4.調試并維護腳本
5.無人值守測試
6.后期腳本維護(添加用例、開發更新版本)

6、你覺得自動化測試的價值在哪里?你們公司為什么要做自動化測試?

引用自動化測試之后,能代替大量繁瑣的回歸測試工作,把業務測試人員解放出來,既而讓業務測試人員把精力集中在復雜的業務功能模塊上,自動化測試一般是對穩定下來的功能進行自動化,保證不會因為產品的更新導致之前穩定下來的功能出現BUG

7、什么是PO模式?

PO是Page Object 模式的簡稱,它是一種設計思想,意思是,把一個頁面,當做一個對象,頁面的元素和元素之間操作方法就是頁面對象的屬性和行為,PO模式一般使用三層架構,分別為:基礎封裝層BasePage,PO頁面對象層,TestCase測試用例層。

8、自動化代碼中,用到了哪些設計模式

○ 單例模式
○ 工廠模式
○ PO模式
○ 數據驅動模式

9、什么是斷言

○ 檢查一個條件,如果它為真,就不做任何事,用例通過。如果它為假,則會拋出AssertError并且包含錯誤信息。

10、UI自動化中,如何做集群

○ selenium grid,分布式執行用例
○ appium 使用stf管理多設備
○ docker+k8s管理集群

11、怎么對含有驗證碼的功能進行自動化測試

○ 萬能驗證碼
○ 測試環境屏蔽驗證
○ 其他操作不推薦

12、如何優化和提高selenium腳本的執行速度

○ 盡量使用by_css_selector()方法:by_css_selector()方法的執行速度比by_id()方法的更快,因為源碼中by_id()方法會被自動轉成by_css_selector()方法處理
○ 使用等待時,盡量使用顯示等待,少用sleep(),盡量不用隱式等待
○ 盡量減少不必要的操作:可以直接訪問頁面的,不要通過點擊操作訪問
○ 并發執行測試用例:同時執行多條測試用例,降低用例間的耦合
○ 有些頁面加載時間長,可以中斷加載

13、接口測試能發現哪些問題

○ 可以發現很多在頁面上操作發現不了的 bug
○ 檢查系統的異常處理能力
○ 檢查系統的安全性、穩定性
○ 前端隨便變,接口測好了,后端不用變
○ 可以測試并發情況,一個賬號,同時(大于 2 個請求)對最后一個商品下單,或不同賬號,對最后一個商品下單
○ 可以修改請求參數,突破前端頁面輸入限制(如金額)

14、selenium 中隱藏元素如何定位?

○ 如果單純的定位的話,隱藏元素和普通不隱藏元素定位沒啥區別,用正常定位方法就行了,這個很多面試官也搞不清楚
○ 元素的屬性隱藏和顯示,主要是 type="hidden"和 style="display: none;"屬性來控制的,接下來在元素屬性里面讓它隱藏,隱藏元素可以正常定位到,只是不能操作(定位元素和操作元素是兩碼事,很多初學者傻傻分不清楚),操作元素是 click,clear,send_keys 這些方法
○ JS 操作隱藏元素

15、如何判斷一個頁面上元素是否存在?

○ 方法一:用 try…except…
○ 方法二:用 elements 定義一組元素方法,判斷元素是否存在,存在返回 True,不存返回 False
○ 方法三:結合 WebDriverWait 和 expected_conditions 判斷(推薦)

16、如何提高腳本的穩定性

○ 不要右鍵復制 xpath(十萬八千里那種路徑,肯定不穩定),自己寫相對路徑,多用 id 為節點查找
○ 定位沒問題,第二個影響因素那就是等待了,sleep 等待盡量少用(影響執行時間)
○ 定位元素方法重新封裝,結合 WebDriverWait 和 expected_conditions 判斷元素方法,自己封裝一套定位元素方法

17、如何定位動態元素

○ 動態元素有 2 種情況,一個是屬性動態,比如 id 是動態的,定位時候,那就不要用 id 定位就是了
○ 還有一種情況動態的,那就是這個元素一會在頁面上方,一會在下方,飄忽不定的動態元素,定位方法也是一樣,按 f12,根據元素屬性定位(元素的 tag、name的步伐屬性是不會變的,動的只是 class 屬性和 styles 屬性)

18、如何通過子元素定位父元素

○ 使用element.parent方法

19、平常遇到過哪些問題? ?如何解決的

○ 可以把平常遇到的元素定位的一些坑說下,然后說下為什么沒定位到,比如動態id、有 iframe、沒加等待等因素

20、一個元素明明定位到了,點擊無效(也沒報錯),如果解決?

○ 使用 js 點擊,selenium 有時候點擊元素是會失效

21、**測試的數據你放在哪? **

○ 對于賬號密碼,這種管全局的參數,可以用命令行參數,單獨抽出來,寫的配置文件里(如 ini)
○ 對于一些一次性消耗的數據,比如注冊,每次注冊不一樣的數,可以用隨機函數生成
○ 對于一個接口有多組測試的參數,可以參數化,數據放 yaml,text,json,excel都可以
○ 對于可以反復使用的數據,比如訂單的各種狀態需要造數據的情況,可以放到數據庫,每次數據初始化,用完后再清理
○ 對于郵箱配置的一些參數,可以用 ini 配置文件
○ 對于全部是獨立的接口項目,可以用數據驅動方式,用 excel/csv 管理測試的接口數據
○ 對于少量的靜態數據,比如一個接口的測試數據,也就 2-3 組,可以寫到 py腳本的開頭,十年八年都不會變更的

22、什么是數據驅動,如何參數化?

○ 參數化的思想是代碼用例寫好了后,不需要改代碼,只需維護測試數據就可以了,并且根據不同的測試數據生成多個用例

23、其他接口都需要登錄接口的信息,怎么去讓這個登錄的接口只在其他接口調用一次

○ 使用單例模式
○ 使用自定義緩存機制
○ 使用測試框架中的setup機制
○ pytest中fixture機制

24、接口產生的垃圾數據如何清理

○ 造數據和數據清理,需用 python 連數據庫了,做增刪改查的操作測試用例前置操作,setUp 做數據準備后置操作,tearDown 做數據清理

25、怎么用接口案例去覆蓋業務邏輯?

○ 考慮不同的業務場景,一個接口走過的流程是什么樣的,流程的邏輯是什么樣的,什么樣的參數會有什么樣的結果,多場景覆蓋

六、性能測試題目

1、做性能測試,你需要關注哪些指標?

1.從用戶角度出發響應時間

2.站在管理員的角度考慮需要關注的性能點
(1)、 響應時間
(2)、 服務器資源使況是否合理
(3)、 應用服務器和數據庫資源使用是否合理
(4)、 系統能否實現擴展
(5)、 系統最多支持多少用戶訪問、系統最大業務處理量是多少
(6)、 系統性能可能存在的瓶頸在哪里
(7)、 更換那些設備可以提高性能
(8)、 系統能否支持7×24小時的業務訪問

3.站在開發(設計)人員角度去考慮
(1)、 架構設計是否合理
(2)、?數據庫設計是否合理
(3)、 代碼是否存在性能方面的問題
(4)、 系統中是否有不合理的內存使用方式
(5)、 系統中是否存在不合理的線程同步方式
(6)、 系統中是否存在不合理的資源競爭

4.站在測試工程師角度考慮
(1)連接超時
(2)崩潰
(3)系統交互
(4)弱網下的運行情況
(5) CPU使用問題

2、java語言的服務性能測試的時候,用什么命令打印線程棧信息?

jstack

3、性能測試指標包括哪些

○ 最大并發用戶數,HPS(點擊率)、事務響應時間、每秒事務數、每秒點擊量、吞吐量、CPU使用率、物理內存使用、網絡流量使用等。
○ 前端需主要關注的點是:
■ 響應時間:用戶從客戶端發出請求,并得到響應,以及展示出來的整個過程的時間。
■ 加載速度:通俗的理解為頁面內容顯示的快慢。
■ 流量:所消耗的網絡流量。
○ 后端需主要關注的是:
■ 響應時間:接口從請求到響應、返回的時間。
■ 并發用戶數:同一時間點請求服務器的用戶數,支持的最大并發數。
■ 內存占用:也就是內存開銷。
■ 吞吐量(TPS):Transaction Per Second, 每秒事務數。在沒有遇到性能瓶頸時:TPS=并發用戶數*事務數/響應時間。
■ 錯誤率:失敗的事務數/事務總數。
■ 資源使用率:CPU占用率、內存使用率、磁盤I/O、網絡I/O。
■ 從性能測試分析度量的度角來看,主要可以從如下幾個大的維度來收集考察性能指標:
■ 系統性能指標、資源性能指標、穩定性指標

4、如果一個需求沒有明確的性能指標,要如何開始進行性能測試?

○ 先輸出業務數據,如pv、pu、時間段等,計算出大概的值,然后不斷加壓測到峰值

5、介紹JMeter聚合報告包括哪些內容

○ 請求名、線程數、響應時間(50 95 99 最小 最大)錯誤率、吞吐量

6、如果有一個頁面特別卡頓,設想一下可能的原因

○ 后臺:接口返回數據慢,查詢性能等各種問題
○ 前端:使用chrome工具調試,判斷js執行久或是其他問題
○ 網絡問題

7、說一說項目中的實際測試內容

○ 根據自己項目中的經驗實話實說,有沒有經驗很容易露餡

8、介紹一下JMeter進行性能測試的過程

○ www.baidu.com98

9、介紹一下JMeter和LoadRunner的區別

○ www.baidu.com98

七、安全測試題目

八、測試框架搭建

九、python面試題

1、python 裝飾器,作用,用法

python的裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,裝飾器的返回值也是一個函數對象。簡單的說裝飾器就是一個用來返回函數的函數。
它經常用于有切面需求的場景,比如:插入日志、性能測試、事務處理、緩存、權限校驗等場景。裝飾器是解決這類問題的絕佳設計,有了裝飾器,我們就可以抽離出大量與函數功能本身無關的雷同代碼并繼續重用。

概括的講,裝飾器的作用就是為已經存在的對象添加額外的功能。

什么是裝飾器語法糖?
python提供了@符號作為裝飾器的語法糖,使我們更方便的應用裝飾函數。但使用語法糖要求裝飾函數必須return一個函數對象

2、python 的垃圾回收機制?

Python 中的垃圾回收機制中有三部分內容:“引用計數”、“標記 - 清除”、“分代回收”
來源:https://testerhome.com/topics/29769

3、python中類方法,類實例方法,靜態方法的區別

○ 實例方法:由對象調用;至少一個self參數;執行普通方法時,自動將調用該方法的對象賦值給self;
○ 類方法:由類調用; 至少一個cls參數;執行類方法時,自動將調用該方法的類復制給cls;
○ 靜態方法:由類調用;無默認參數;

4、dict和tuple及list的區別(這里列的是主要區別,面試足夠)

○ tuple是不可變對象,list和dict都是可變對象,這里的不可變指的是指向地址不可變
○ list是有序的,dict是無序的,不可存放有序集合
○ dict查找速度快,不管有多少個元素時間都一樣,list查找速度慢,需要有序查找
○ dict的key為不可變對象,且不可重復,list則可以重復,存放任意對象

5、json和dict的區別

○ json是一種數據格式,純字符串。dict是一種完整的數據結構
○ dict是一個完整的數據結構,是對Hash Table這一數據結構的一種實現,是一套從存儲到提取都封裝好了的方案。它使用內置的哈希函數來規劃key對應value的存儲位置,從而獲得O(1)的數據讀取速度。
○ json的key只能是字符串,python的dict可以是任何可hash對象(不可變對象)
○ json的key可以是有序、可重復的;dict的key不可重復,且無序。
○ json任意key存在默認值undefined,dict默認沒有默認值
○ json訪問方式可以是[],也可以是.,遍歷方式分in、of;dict的value僅可以下標訪問
○ dict可以嵌套tuple,json里只有數組

6、python會不會出現內存泄漏,為什么

○ 當對象之間互相引用的時候再刪除的時候,可能會造成無法釋放對象的情況,出現泄漏
○ 上面為個人了解,如有其它請補充

7、python的同步和異步

○ 直接得到最終結果的結果,就是同步調用。
○ 不直接得到的最終的結果,就是異步調用。
○ 同步與異步區別在于:調用者是否得到了想要的最終結果。

8、常見手撕代碼

十、數據庫面試題

1、mysql 刪除語句有哪些?

1)drop 語句,用來刪除數據庫和表:例子【drop database db;drop table tb】、
2)delete 語句,用來刪除表中的字段:例子【delete from tb where id=1】
3)用 truncate 來刪除表中的所有字段:例子【truncate table tb】

2、數據庫事務、主鍵與外鍵的區別?

數據庫的事務:
事務即用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位,
它具有四個特性,ACID,原子性,一致性,隔離性,持續性

主鍵和外鍵的區別:
1、主鍵是能確定一條記錄的唯一標識,不能重復,能唯一確定該條數據;
2、外鍵用于與另一張表的關聯,是能確定另一張表記錄的字段,用于保持數據的一致性

3、工作中常使用的SQL語法有哪些?

○ create table、create view、 select from where、insert into、update set values、delete、alter、order by、having

4、數據庫存儲過程

○ 一組數據庫操作命令,當作是自己寫的一個方法,一系列步驟自己去封裝(個人理解)

5、SQL常見查詢語句編寫

(此處僅舉例常見的查詢語句,如有更多坑,希望補充)
○ 查詢所有學生的數學成績,顯示學生姓名 name, 分數, 由高到低。SELECT a.name, b.score FROM student a, grade b WHERE a.id = b.id AND kemu = ‘數學’ ORDER BY score DESC;
○ 統計每個學生的總成績(由于學生可能有重復名字),顯示字段:學生 id,姓名,總成績。SELECT a.id, a.name, c.sum_score from student a, (SELECT b.id, sum(b.score) as sum_score FROM grade b GROUP BY id) c WHERE a.id = c.id ORDER BY sum_score DESC;
○ 列出各門課程成績最好的學生, 要求顯示字段: 學號,姓名,科目,成績SELECT c.id , a.name, c.kemu, c.score FROM grade c, student a,(SELECT b.kemu, MAX(b.score) as max_score FROM grade b GROUP BY kemu) t WHERE c.kemu = t.kemu AND c.score = t.max_score AND a.id = c.id

6、慢查詢是什么意思?

○ 開啟慢查詢日志,可以讓MySQL記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。

7、導致數據庫性能差的可能原因有哪些?

○ 硬件環境問題,如磁盤IO
○ 查詢語句問題,如join、子查詢、沒建索引
○ 索引失效,建了索引,查詢的時候沒用上
○ 查詢關聯了太多的join
○ 服務器關聯緩存,線程數等
○ 表中存在冗余字段,在生成笛卡爾積時耗費多余的時間

8、redis緩存應用場景

○ 需要將數據緩存在內存中,提升查詢效率
○ 本人沒經驗,希望補充

9、怎么定位redis緩存失效問題(緩存壞了)

○ 不知道,看不懂

十一、shell和liunx面試題

1、介紹Linux管道?

舉例:ls -a | grep mysql
說明:就是把前一個命令的結果當成后一個命令的輸入。結合本例就是先顯示所有的文件,然后再用grep命令在ls的結果中查找包含mysql的文件

2、工作中常用的Linux命令有哪些?

○ awk、sed、vim、iotop、dstat、cp、top、ifconfig、pwd、cd、ll、ls、cat、tail、grep、mv、rm、mkdir、df、du

3、什么命令可以幫助Linux執行Windows上傳的腳本

○ 改變編碼格式
○ vim test.sh
○ :set ff?// 顯示dos的話
○ :set ff=unix:wq

4、簡述linux三劍客

○ grep命令:根據用戶指定的模式pattern對目標文本進行過濾,顯示被模式匹配到的行,grep [options] pattern [file],常用參數:
■ -v 顯示不被pattern匹配到的行
■ -i 忽略字符的大小寫
■ -n 顯示匹配的行號
■ -c 統計匹配的行數
■ -o 僅顯示匹配到的字符串
■ -E 使用ERE,相當于egrep(可以識別更多的正則表達式規則)
○ sed:流編輯器,用來處理一行數據。將一行數據存儲在模式空間中->用sed命令處理->送入屏幕->清空空間,常用參數:
■ -h 顯示幫助
■ -n 僅顯示script處理后的結果
■ -e 指定的腳本來處理輸入的文本文件
■ -f 以指定的腳本文件來處理
■ 常用動作
● a: 新增 sed -e ‘4 a newline’
● c: 取代 sed -e ‘2,5c No 2-5 number’
● d: 刪除 sed -e ‘2,5d’
● i: 插入 sed -ed ‘2i newline’
● p: 打印 sed -n ‘/root/p’
● s: 取代 sed -e ‘s/old/new/g’
● g: 代表全局
○ awk:把文件逐行的讀入,以空格為默認分隔符將每行切片。 把行作為輸入,并賦值給$0->將行切段,從$1開始->對行匹配正則/執行動作->打印內容,awk ‘pattern + action’ [filenames],常用語法:
■ filename awk瀏覽的文件名
■ begin 處理文本前要執行的操作
■ end 處理文本之后要執行的操作
■ fs 設置輸入域分隔符,等價于命令行-F選項
■ nf 瀏覽記錄的域的個數(列數)
■ nr 已讀的記錄數(行數)
■ 常用參數
● ofs 輸出域分隔符
● ors 輸出記錄分隔符
● rs 控制記錄分隔符,換行標志
● $0 整條記錄
● $1 第一條分隔后的記錄

5、如何通命令定位Linux服務器下的日志?

○ 如果要監控日志,那么使用tail -f | grep xxx命令,過濾需要的字段
○ 如果在完整日志中查看內容,使用cat xxx.log | grep xxxx | awk '{print $1}'等命令過濾自己需要的內容

6、簡述項目中的環境搭建和維護

○ 結合自身經驗先從系統安裝開始,如常用的centos和Ubuntu說起,系統安裝主要是磁盤分區和磁盤陣列問題
○ 基礎環境依賴,如MySQL、Redis、jenkins、docker、項目中用到的其他依賴環境等
○ 維護方便主要從遇到的錯誤說起,如無法遠程連接、服務器加固等

十二、計算機網絡面試題

1、七層模型有哪些,分別有哪些協議?

1)應用層包含的主要協議:
FTP(文件傳送協議)、
Telnet(遠程登錄協議)、
DNS(域名解析協議)、
SMTP(郵件傳送協議),
POP3協議(郵局協議),
HTTP協議(Hyper Text Transfer Protocol)

2)表示層

3)會話層

4)傳輸層
包含的主要協議:
TCP協議(Transmission Control Protocol,傳輸控制協議)、
UDP協議(User Datagram Protocol,用戶數據報協議);
重要設備:網關

5)網絡層
包含的主要協議
IP協議(Internet Protocol,因特網互聯協議);
ICMP協議(Internet Control Message Protocol,因特網控制報文協議);
ARP協議(Address Resolution Protocol,地址解析協議);
RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)

6)數據鏈路層
數據鏈路層為網絡層提供可靠的數據傳輸
主要的協議:以太網協議
基本數據單位為:幀
兩個重要設備名稱:網橋和交換機

7)物理層
中繼器(Repeater,也叫放大器)和集線器

2、HTTP網絡請求返回碼分別表示?

● 1xx(臨時響應)
● 2xx (成功)
● 3xx (重定向)
● 4xx(請求錯誤)
● 5xx(服務器錯誤)
來源:https://blog.csdn.net/G_spring/article/details/85071737

3、輸入url到網頁顯示出來的全過程

a. 輸入網址
b. DNS解析
c. 建立tcp連接
d. 客戶端發送HTTP請求
e. 服務器處理請求
f. 服務器響應請求
g. 瀏覽器展示HTML
h. 瀏覽器發送請求獲取其他在HTML中的資源。

4、http和https的區別

○ https里面是要有證書的,http并沒有證書,證書的作用是證明你是這個網站的擁有者,誰去證明,最頂級的CA去幫你證明,這些頂級的CA都是瀏覽器、操作系統本身就自動幫你集成,而且自動添加到設置信任里面去
○ https要兼顧安全+性能的方面,由于對稱式加密雖然速度很快,但是安全性特別的低,因為雙方要規定對稱式加密的秘鑰,別人都無法知道,但你怎么能確保別人不知道你的秘鑰呢,因此需要有非對稱式加密去保證安全,但非對稱式加密速度又很慢,如果客戶端和服務器端都用非對稱式加密,網絡得卡死了。所以當雙方建立好了非對稱加密后,再約定一個隨機數,等大家都非對稱解密了之后呢,就拿到只有對方知道的唯一隨機數(秘鑰),就可以用秘鑰來進行對稱式加密和解密了

5、HTTP的報文結構

○ HTTP請求報文:一個HTTP請求報文由請求行、請求頭部、空行和請求數據4個部分組成
○ HTTP響應報文:HTTP響應也由三個部分組成,分別是:狀態行、消息報頭、響應正文

6、htt常見的響應狀態碼

○ 200 請求已成功,請求所希望的響應頭或數據體將隨此響應返回。
○ 201 請求已經被實現,而且有一個新的資源已經依據請求的需要而建立,且其 URI 已經隨 Location 頭信息返回
○ 202 服務器已接受請求,但尚未處理
○ 301 (永久移動) 請求的網頁已永久移動到新位置。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
○ 302 (臨時移動) 服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
○ 303 (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。
○ 304 (未修改) 自從上次請求后,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。 ? 305 (使用代理) 請求者只能使用代理訪問請求的網頁。 如果服務器返回此響應,還表示請求者應使用代理。
○ 307 (臨時重定向) 服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
○ 401 當前請求需要用戶驗證。如果當前請求已經包含了 Authorization 證書,那么 401 響應代表著服務器驗證已經拒絕了那些證書
○ 403 服務器已經理解請求,但是拒絕執行它。與 401 響應不同的是,身份驗證并不能提供任何幫助,而且這個請求也不應該被重復提交
○ 404 請求失敗,請求所希望得到的資源未被在服務器上發現
○ 500 服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在服務器的程序碼出錯時出現。
○ 501 服務器不支持當前請求所需要的某個功能。當服務器無法識別請求的方法,并且無法支持其對任何資源的請求。
○ 502 作為網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。
○ 503 由于臨時的服務器維護或者過載,服務器當前無法處理請求。這個狀況是臨時的,并且將在一段時間以后恢復。

7、cookie和session機制的區別

○ cookies 數據保存在客戶端,session 數據保存在服務器端;
○ cookies 可以減輕服務器壓力,但是不安全,容易進行 cookies 欺騙;
○ session 較安全,但占用服務器資源

8、TCP和UDP的區別

○ TCP:面向連接,可靠的,速度慢,效率低
○ UDP:無連接、不可靠、速度快、效率高

9、TCP為什么是三次握手和四次揮手

○ 三次握手能保證數據可靠傳輸又能提高傳輸效率。若握手是兩次:如果只是兩次握手, 至多只有連接發起方的起始序列號能被確認, 另一方選擇的序列號則得不到確認。
○ 要保證雙方都關閉了連接。因為TCP是全雙工的,就是要等到兩邊都發送fin包確認雙方都沒有數據傳輸后才關閉

10、TCP為什么最后揮手后會有time_wait

○ 為了保證可靠的斷開TCP的雙向連接,確保足夠的時間讓對方收到ACK包。若客戶端回復的ACK丟失,server會在超時時間到來時,重傳最后一個fin包,處于TIME_WAIT狀態的client可以繼續回復Fin包,發送ACK。
○ 保證讓遲來的TCP報文段有足夠的時間被識別和丟棄,避免新舊連接混淆。有些路由器會緩存沒有收到的數據包,如果新的連接開啟,這些數據包可能就會和新的連接中的數據包混在一起。連接結束了,網絡中的延遲報文也應該被丟棄掉,以免影響立刻建立的新連接。

11、簡要說明http請求中的post和get有哪些區別的地方

○ 請求頭多了content-length和content-type字段
○ post可以附加body,可以支持form、json、xml、binary等各種數據格式
○ 行業通用規范
○ 無狀態變化的建議使用get
○ 數據的寫入與狀態的修改建議使用post
○ 基于http協議:都是請求返回數據,get將請求體放在頭上,只發一次請求,post將請求體放在內部,需要發送兩次請求
○ GET 在瀏覽器回退時是無害的,而 POST 會再次提交請求。
○ GET 請求會被瀏覽器主動 cache,而 POST 不會,除非手動設置。
○ GET 請求只能進行 url 編碼,而 POST 支持多種編碼方式。
○ GET 請求在 URL 中傳送的參數是有長度限制的,而 POST 么有。
○ 對參數的數據類型,GET 只接受 ASCII 字符,而 POST 沒有限制。
○ GET 比 POST 更不安全,因為參數直接暴露在 URL 上,所以不能用來傳遞敏感信息。

12、如果一個請求,返回的狀態碼是200,但是沒有內容,可能發生了什么?

○ 請求頭缺失或錯誤
○ 參數length不符

十三、10大靈魂拷問

1、自己的優點和缺點

○ 避開崗位的核心技能
○ 把缺點放在場景中描述
○ 對缺點進行合理化解釋
○ 優點隨便說,主要方向還是在崗位上

2、是否能接受加班,建議分情況作答

○ 第一種情況:假設公司有重要的項目要趕。示范回答:貴公司現在正處于發展上升期,也在官網上有看到公司的重要項目成果,我覺得有時候因為趕項目進度、工作需要等忙起來是非常正常的,面對這種情況,我是非常愿意配合公司和團隊的工作,讓工作能夠更順利地完成,此外,我也相信自己一定能在公司安排的工作中獲得到鍛煉,獲得更快地成長。
○ 第二種情況:假設自己作為新人,對業務不熟悉。示范回答:我作為公司剛進去的新人,可能剛開始進入公司接觸業務時不太熟練,會出現需要加班的情況,但我更愿意提高工作效率,并積極向公司的前輩請教學習,在一定的時間內完成工作而不是拖到下班之后。當然, 如果有緊急的事情,忙起來需要加班也是可以接受的。

3、薪酬的要求

○ 薪資并不是我求職的唯一標準,我上家公司基本在A~B 之間(建議合理提高,避免部分HR壓價)
○ 我來貴司求職的主要動機是興趣,這份工作是我喜歡做的,也相信自己可以勝任,更相信公司會給出一個合理的薪酬。
○ 相比薪酬,我更在意的是收入,所以,我很愿意了解貴司的薪酬架構,可以簡單介紹下嗎?
○ 我希望薪資可以達到**,據我了解,貴司這個崗位薪資范圍是A~B ,而結合崗位職責及任職要求,我對自己也進行了相應評估,也愿意接受貴司的下一步考核。

4、未來5年的職業規劃

○ 自我認知。對自己是否了解,了解是不是靠譜。
○ 動機和價值觀。你是否能接受我們并不一定能給你公平的職業發展機會這個現實?
○ 組織承諾。你到底能在我們這踏實的干幾年?

5、我們為什么要聘用你

○ 描述應聘崗位的勝任條件,強調自己的工作能力和工作經驗跟崗位的匹配度,崗位要求的工作技能是否自己掌握了,掌握的程度是怎樣的,最好在面試中說出來。因此,在面試前最好是要針對應聘崗位,把自己勝任的條件一一列出來,做到知己知彼。可以談論一下自己之前的工作情況,用成績、用數據來說明自己的成就。
○ 描述自己能為公司做出什么貢獻,公司是一個講究利益的地方,聘用你肯定要你為公司做出貢獻。那么你在回答這個問題時,就需要說出你的加入可以為公司帶來什么,這非常重要。因此,一定要明確你的工作目標和職業規劃,表明你的立場和專業程度,讓HR信任你。
○ 描述出自身的優勢。公司為何要聘用你,而不聘用別人,肯定是你有比別人優秀的地方。那么在回答這個問題時,就一定要說出自己與眾不同的地方,最好是要舉一個例子,來支持你的觀點。
○ 建立個人和公司的聯系,HR想要得到一個怎樣的答案呢?無非就是想通過這個問題,來進一步了解你各方面的信息,以及看看你為這次面試做了多少功課。那么在面試前,你最好是要盡可能獲取有關公司可行業的資料信息。在回答的時候,結合自己所做的功課,建立個人和公司的聯系,說明自己在哪一方面能夠匹配公司的要求。HR看到你對應聘崗位這么了解,肯定會對你有好感。
○ 說出你對這份工作的興趣以及熱情

6、對我們公司有多少了解

○ 實時回答就好,知道多少就說多少,一般去面試對這個公司的了解都是從網上查到的,不會太深入

7、為什么愿意到我們公司

○ 有所準備,了解公司
○ 個人目標要與公司目標一致
○ 強調你能如何為公司提高價值

8、與領導意見不一致時,該如何處理

○ 不要假設我已經完全的掌握了對這件事的認知。向領導詢問確認自己有可能缺失的信息。要尋找對領導沒有告知的信息,和領導不能透露的信息。
○ 不要假設領導已經完全的掌握了我對這件事的認知。檢查一下,是否已經將事情的前因后果,自己對事情的理解,明確清晰的傳達給了領導,以及,他是否真的已經明確了解。
○ 在進行有效的認知溝通后,重新思考整件事情。如果意見還是有不一致,那么:
■ 按領導要求執行。不理解,也執行,在執行中理解。
■ 執行過程中,收集反饋,不斷調整,提升認知。
■ 執行完成后,及時復盤,回顧決策和行動過程,沉淀知識。

9、缺乏工作經驗,如何勝任這份工作

○ 承認工作經驗的重要性。這樣能帶給面試官的印象是:該位候選人認知能力較強,具有理性思維與客觀公正的處事態度及判斷能力,尤其是對于自己也能客觀公正地看待,勇于承認自己的缺失。
○ 突顯個人優勢。用自己的其他優勢特長來補足經驗上的不足,比如說記憶力好、動手能力強、語言能力強、學習能力強等。
○ 強調自己會不斷提高工作能力。切忌用假大空的話,要用具體的與工作相關的事例或是數據來說明自己的學習力。

10、工作中與同事發生爭執,如何處理

○ 在溝通之前,做好充分的準備
○ 學會認知傾聽,讓別人把話說完
○ 借用一些工具,來解決交流障礙

十四、反問面試官

1、職責

○ 團隊中初級和高級人眼如何平衡
○ 針對員工有哪些培訓和提升計劃

2、技術

○ 公司內部的技術棧
○ 產品的架構
○ 版本控制及迭代速度
○ 服務器管理權限,本機家算計管理權限

3、團隊

○ 團隊內和團隊之間如何溝通
○ 遇到了分歧如何解決
○ 團隊正在經歷的尚未解決的挑戰是什么
○ 績效考核是如何算的

4、公司

○ 晉升機會
○ 是否有自己的學習資源
○ 假期,加班工資等
○ 過去半年最糟糕的一天是怎么樣的
○ 是什么讓你來到并留在這里
○ 是否能夠平衡工作與生活

總結:

感謝每一個認真閱讀我文章的人!!!

作為一位過來人也是希望大家少走一些彎路,如果你不想再體驗一次學習時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,在這里我給大家分享一些自動化測試的學習資源,希望能給你前進的路上帶來幫助。

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

?

? ? ? ? ? 視頻文檔獲取方式:
這份文檔和視頻資料,對于想從事【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!以上均可以分享,點下方小卡片即可自行領取。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40275.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40275.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40275.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java中Predicate(謂詞),方法引用,以及正則的一些講解

1.Predicate接口簡述 FunctionalInterface public interface Predicate<T> {boolean test(T t);default Predicate<T> and(Predicate<? super T> other) {Objects.requireNonNull(other);return (t) -> test(t) && other.test(t);}default Pred…

速盾:cdn加速效果

CDN&#xff08;Content Delivery Network&#xff09;即內容分發網絡&#xff0c;是一種通過在全球多個節點服務器上緩存網站的靜態資源&#xff0c;并將用戶請求導向離用戶最近的服務器節點&#xff0c;從而提供更快速的訪問體驗的技術。 在傳統的網絡架構中&#xff0c;用戶…

鴻蒙 HarmonyOs 網絡請求 快速入門

官方文檔&#xff1a; ArkUI簡介-ArkUI&#xff08;方舟UI框架&#xff09;-應用框架 | 華為開發者聯盟 (huawei.com) 一、通過原有的http組件進行網絡請求&#xff08;方式一&#xff09; 1.1 HttpRequestOptions的操作 名稱類型描述methodRequestMethod請求方式&#xff…

12款超良心好用APP推薦,每一款都值得下載!

AI視頻生成&#xff1a;小說文案智能分鏡智能識別角色和場景批量Ai繪圖自動配音添加音樂一鍵合成視頻https://aitools.jurilu.com/分享是奉獻的果實&#xff0c;分享是快樂的前提。每天給小伙伴們分享自己認可的軟件&#xff0c;也是莫大的幸福&#xff0c;今天獲得12款好用的軟…

class類和style內聯樣式的綁定

這里的綁定其實就是v-bind的綁定&#xff0c;如代碼所示&#xff0c;div后面的引號就是v-bind綁定&#xff0c;然后大括號將整個對象括起來&#xff0c;對象內先是屬性&#xff0c;屬性后接的是變量&#xff0c;這個變量是定義在script中的&#xff0c;后通過這個變量&#xff…

flutter:監聽路由的變化

問題 當從路由B頁面返回路由A頁面后&#xff0c;A頁面需要進行數據刷新。因此需要監聽路由變化 解決 使用RouteObserver進行錄音監聽 創建全局變量&#xff0c;不在任何類中 final RouteObserver<PageRoute> routeObserver RouteObserver<PageRoute>();在mai…

flask-apscheduler 定時任務被執行兩次

定時任務沒有被多次調用&#xff0c;事實上如果多次調用的話&#xff0c;flask-apscheduler會拋出異常。 但一開始任務還是按時執行一次&#xff0c;重啟flask或者修改部分代碼后&#xff0c;就發送定時任務一次執行兩次了。 之所以會發生這種情況&#xff0c;是因為在debug模…

面試-微服務篇

springcloud組件有哪些&#xff1f; eureka、ribbon負載均衡、feign、hystrix、zuul/gateway網關 nacos、ribbon、feign、sentinel、gateway 服務注冊和發現是什么意思&#xff1f;springcloud如何實現服務注冊發現&#xff1f; 微服務中必須要使用的組件&#xff0c;考察我們使…

LeetCode刷題記錄:(15)三角形最小路徑和

知識點&#xff1a;倒敘的動態規劃 題目傳送 解法一&#xff1a;二維動態規劃【容易理解】 class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n triangle.size();if (n 1) {return triangle.get(0).get(0);}// dp[i][j]:走到第i層第…

[240705] 美光或將助力英偉達 RTX 50系列領先 AMD | 中國領跑生成式人工智能專利競賽

目錄 美光或將助力英偉達 RTX 50系列領先 AMD中國領跑生成式人工智能專利競賽 美光或將助力英偉達 RTX 50系列領先 AMD &#x1f4e2; 美光近日公布了其下一代顯存 GDDR7 的性能數據&#xff0c;顯示出在游戲性能方面高達30%的提升&#xff0c;這對于即將推出的顯卡來說無疑是…

白騎士的C語言教學基礎篇 1.2 C語言基礎語法

系列目錄 上一篇&#xff1a;白騎士的C語言教學基礎篇 1.1 C語言介紹 在這一篇內容中&#xff0c;我們將介紹C語言的基礎語法&#xff0c;包括C語言的程序結構、數據類型與變量、常量與運算符。 C語言程序結構 C語言程序的基本結構包括頭文件、主函數和語句。一個簡單的C語言…

Java+前后端分離架構+ MySQL8.0.36產科信息管理系統 產科電子病歷系統源碼

Java前后端分離架構 MySQL8.0.36產科信息管理系統 產科電子病歷系統源碼 產科信息管理系統—住院管理 數字化產科住院管理是現代醫院管理中的重要組成部分&#xff0c;它利用數字化技術優化住院流程&#xff0c;提升醫療服務質量和效率。以下是對數字化產科住院管理的詳細闡述…

【Spring Boot】統一異常處理

目錄 統一異常處理一. 概念二. 全局異常處理三. 處理特定異常 統一異常處理 一. 概念 其實統一異常是運用了AOP&#xff08;對某一類事情的集中處理&#xff09;的思維&#xff0c;簡單概括就是在我們進行前后端數據交互的時候&#xff0c;拋出的任何的異常都能夠自動捕獲然后…

uniapp微信接口回調 response.sendRedirect nginx 報404錯誤

如題 參考 uniapp打包H5時,訪問index.html頁面白屏報錯net::ERR_ABORTED 404 - 簡書 nginx中修改 配置文件 location / { try_files $uri $uri/ /index.html; root html; index index.html index.htm; } uniapp里配置 重新載入

JavaScript常用包管理工具

NPM、Yarn、CNPM 和 PNPM 是 JavaScript 生態系統中常用的包管理工具。它們各自有不同的特點和優勢。以下是對它們的詳細解釋&#xff1a; 1. NPM (Node Package Manager) 簡介&#xff1a; NPM 是 Node.js 的默認包管理工具&#xff0c;也是最早出現的 JavaScript 包管理工具…

ingress-nginx控制器證書不會自動更新問題

好久沒更新了&#xff0c;正好今天遇到了一個很有意思的問題&#xff0c;在這里給大家分享下&#xff0c;同時也做下記錄。 背景 最近想做個實驗&#xff0c;當k8s集群中secret更新后&#xff0c;ingress-nginx控制器會不會自動加載新的證書。我用通義千問搜了下&#xff0c;…

什么是FPGA的基本組成單元?

FPGA&#xff08;Field-Programmable Gate Array&#xff09;的基本組成單元是其內部結構的關鍵組件&#xff0c;這些單元可以被編程來執行各種數字邏輯功能。FPGA的基本組成單元主要包括以下幾個部分&#xff1a; 可編程邏輯塊 (CLB, Configurable Logic Block) CLB是FPGA中最…

Airflow: 大數據調度工具詳解

歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;歡迎訂閱相關專欄&#xff1a; 歡迎關注微信公眾號&#xff1a;野老雜談 ?? 全網最全IT互聯網公司面試寶典&#xff1a;收集整理全網各大IT互聯網公司技術、項目、HR面試真題. ?? AIGC時代的創新與未來&a…

【CH32V305FBP6】移植 RT-Thread

文章目錄 前言實現修改鏈接文件移植 RTT 代碼修改啟動文件修改中斷文件修改主文件 前言 移植 RT-Thread 到 CH32V305FBP6。 實現 修改鏈接文件 .text :{. ALIGN(4);*(.text)*(.text.*)*(.rodata)*(.rodata*)*(.gnu.linkonce.t.*)/* section information for finsh shell */…

Go單元測試

Go 語言中&#xff0c;單元測試是通過標準庫中的 testing 包來實現的&#xff0c;該包提供了一組功能&#xff0c;使得編寫、運行和管理單元測試變得簡單和高效。 一、規則 測試文件的命名規則 Go 中的測試文件命名規則是在被測試的源文件名后面加上 _test.go。例如&#xff0…