關閉

                  從裁員風波到面試巔峰,30道技術難題全記錄

                  發表于:2024-5-27 09:28

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:測試安靜    來源:51Testing軟件測試網原創

                    前言
                    年前公司大量裁員,很榮幸拿到了過年大禮包,休息了一個月,年前年后找了一段時間,經歷過,手撕代碼,上機編寫代碼,各種各樣的筆試題,這里給大家總結一些面試過程的面試題。面試過管理崗位和技術崗位,就只介紹一些技術崗位的面試題吧,過程中編寫一些個人理解的結果,大佬勿噴
                    1、python裝飾器是什么?有什么作用?簡單舉一個例子?
                    答:python裝飾器就是在不改變原函數的情況下項函數增加新的功能,主要對目標函數進行裝飾,增加函數的功能。比如日志記錄,在某個函數中,增加一些日志記錄,方便我們后續調試或者完成一些日志記錄。
                    2、pytest的裝飾器有哪些?你用到過那些?
                    pytest.mark.skip  跳過某個用例
                    pytest.mark.xfail  預計失敗的用例
                    pytest.mark.parametrize 參數化
                    pytest.fixture  裝飾器
                    3、自動化過程的測試數據如何存放的?
                    答:通過yaml文件、excel表格進行存放,編寫一個讀取對應文件的函數,然后需要的時候調取函數進行讀取。
                    4、python中的魔法函數是什么?舉例子說明?
                    答:python中的魔法函數主要根據一些特殊命名約定的內置方法,以雙下劃線開頭和結尾,函數在特點的上下文會被python進行自動調用。
                    __init__() 構造函數,在創建類的新實例時調用
                    __str__() 返回一個代碼對象的字符串
                    __len__() 返回對象的長度
                    5、python切割有哪幾種方法?
                    答:直接通過字符串切割,類似[6:],內置函數split()進行切割
                    6、python中多進程和多線程?
                    答:多進程:Multiprocessing,通過for循環的形式進行創建進程
                    多線程:Threading,通過for循環的形式進行創建線程
                    7、conftest.py文件是做什么用的?
                    答:confitest.py屬于pytest測試框架中的一個配置文件,主要作用于定于fixture,直接可以進行調用,無需重新導入,放在特點的目錄下。
                    8、token是什么,一般存放在哪里?
                    答:token屬于一個經過加密的安全憑證,一般存放在瀏覽器的請求頭部中,也有部分會存放在用戶瀏覽器的本地緩存中。
                    9、cookies和session的區別是什么?
                    答:cookies和session都是會話技術,其中cookies是保存在客戶端,session是存儲在服務器端。
                    10、DDT是什么?
                    答:unittest中的數據驅動測試工具包,多數用于參數化中使用。
                    11、自動化測試都是用于什么場景中?
                    答:目前自動化測試都是使用在回歸測試中和持續集成中,通過研發上傳代碼后會自動打包對應的軟件,然后自動調取自動化測試用例,然后進行執行自動化測試用例。
                    12、隱式等待和顯示等待區別?如何使用?
                    答:隱式等待和顯示等待主要用于UI自動化中,隱式等待適用于頁面加載相對慢且不確定哪些元素加載時間較長的情況,它可以減少因元素未加載而導致的錯誤。
                    顯示等待可以設置檢測元素的時間,比如0.5S檢測一次,檢測到后,立即執行下面的操作。
                    13、Docker是什么?公司內使用什么場景?
                    答:Docker是一個開源的應用容器引擎,提供了一種標準化的方式將應用程序及其依賴環境打包成一個可移植的容器。這意味著開發者可以構建一個包含應用程序代碼、運行時、庫以及其他必要組件的容器鏡像,確保應用能夠在任何安裝了Docker環境的地方,以一致的方式進行運行。
                    公司目前使用主要保證了研發和測試同事之間的環境統一,保證環境統一,不會出現環境不同引發的問題。
                    14、常用的容器的命令?
                    docker run 啟動容器
                    docker ps  查看運行的容器
                    docker stop  停止容器
                    docker rm  刪除一個容器
                    15、常用的鏡像命令?
                    docker pull  拉取鏡像
                    docker save 保存鏡像
                    docker rmi 刪除鏡像
                    docker images 查看本地鏡像
                    16、git的常用命令?
                    git commit 提交更新文件
                    git branch  顯示本地分支
                    git checkout 切換分支
                    git pull 下載代碼
                    git push  上傳代碼
                    git merge 合并分支
                    git reset --hard HEAD 版本回退
                    17、有沒有使用過pytest的鉤子函數?
                    答:簡單使用過鉤子函數,主要用來獲取測試結果,添加到測試報告中,簡單的使用過,具體開發完成某些功能,這些目前工作中沒有遇到過。
                    18、常用的自動化框架有哪些?
                    答:接口自動化:python+requests+pytest+alluer
                    WEB自動化:python+selenium+pytest+allure
                    app自動化:python+allure+pytest+allure
                    19、接口自動化中如何保持登錄狀態?
                    答:通過session函數進行保持,可以在session的狀態進行保持登錄的狀態,進行完成其他操作
                    20、自動化測試框架通過什么模型進行搭建的?
                    答:通過PO模型進行搭建的,PO模型主要分為了幾部分,其中將測試數據放在一次,公用的測試方法放在一起,測試用例放在一起,封裝一些常用的方法放在一起。
                    21、項目中沒有產品經理,沒有需求文檔,你應該如何編寫測試用例?
                    答:兩種情況,第一種,軟件還處于開發階段且沒有需求文檔,這時候就需要像研發請教整個項目的內容和本次開發的內容,根據研發所介紹的內容進行編寫測試用例;第二種,軟件已經開發完成了,這個時候可以根據實體軟件進行編寫測試用例,邊測試邊寫測試用例。無論是那兩種方法,都要將后續用例編寫完成后,進行組內或者部門進行評審。
                    22、如果入職新公司了,如何快速熟悉產品,從而實現快速上手?
                    答:進入公司后,首先根據我們的現有軟件進行上手操作熟悉,并在過程中進行結合需求文檔進行軟件操作。此項熟悉后,進行查看過往提交的bug缺陷內容,結合前面熟悉程度,更加清楚后續測試過程中,哪些地方比較容易出現問題。個人能力覺得可以的話,可以進行查看研發的代碼或者在此過程中,研發評審代碼的過程中,進行參與其中,可以從底層方面更加了解本次產品需改了哪些內容。
                    23、項目中的自動化如何開展的?如何進行的?根據自動化的執行過程是怎么安排的?
                    答:當項目穩當后,進行編寫自動化測試,編寫自動化用例的前提是保證本次迭代過程中的手工測試通過后,然后進行編寫測試用例,將測試用例以優先級的形式進行劃分,先把主流程的過程進行實現自動化測試。自動化的執行過程就是利用空閑的時間,如果下班后,或者每天早上固定時間進行執行自動化測試用例,并自己將結果通過和釘釘/企業微信進行連接起來,保證每次執行結果都可以通過群聊或者報告方式展示給大家查看。后期可以通過jenkins進行搭建持續集成,通過研發每次提交代碼,都可以運行我們的自動化測試代碼,并將測試結果以郵件或者群聊方式通知給到項目人員中。
                    24、在項目中你通過python除了編寫自動化測試?還做過什么?
                    答:編寫項目中的測試工具,舉例說明,比如小編個人寫的,通過用例管理平臺中,進行拉取本次測試相關的測試用例,然后生成EXCEL或者word文檔,執行完成后,直接導出報告。
                    再比如完成一些不可重現的bug,舉例:比如一個缺陷不好復現,可以通過自動化的形式進行將這個過程完成自動化,并在代碼中抓取相關錯誤內容。從而減少人員手工操作。
                    25、項目迭代周期是多久?每個周期測試都做些什么?
                    答:這里就是考慮我們的一個項目流程,評審需求,編寫用例,評審用例,需求測試,提交缺陷,整理用例,編寫報告。
                    26、印象深刻的bug?
                    答:這個相信每一個面試人員,都會提前準備的,不做太多介紹。如果沒有準備,做過這么久測試,隨便提出來一個缺陷。
                    27、如果保證軟件測試環境和研發的環境保證統一的?
                    答:這里通過Docker容器技術的方法,通過Docker確保了研發,測試的環境統一性。在這個過程中,自助學習了Docker技術,并將學習的內容運用到工作中,將研發和測試的環境保持了統一性。
                    28、每次研發提測延后,導致測試加班,這個時候應該怎么做?
                    答:因為研發提測延后,導致加班,這個前面可以接受,進行默默無聞的進行加班,等到下一個迭代時,進行和對應人員溝通,周期延長;測試人員更早的介入測試,比如通過mock測試對后端接口進行測試
                    29、你作為組長/測試經理,您應該如何分配任何?
                    答:首先對組人人員進行一定了解,明白每個人的相關經驗,可以根據對應的經驗進行分配對應的任務,然后也會對其進行輪崗機制,所謂輪崗機制就是保證每一位組內人員對項目各個模塊都進行熟悉,并且人員不足時,可以根據項目優先級進行分配組員,從而達到不影響項目進度。
                    30、工作了這么多年了,你能介紹下每一家公司中,你提升了哪些技術?
                    答:第一家,學習了如何測試,熟悉了測試流程,項目流程,缺陷提交,數據庫,如何編寫測試用例,了解自動化測試用例代碼;第二家,學習了python,學習自動化框架,并將自動化技術運用到工作中;第三家,學習了更深層面的技術,比如優化了框架內容,通過腳本提高了測試效率,搭建持續集成,學習docker等操作,這個具體看個人發揮
                    總結
                    簡單的寫了一些關于面試過程中的問題,當然還有一些關于linux目錄啊,接口相關問題啊,小編這里就不具體的列出來了,經過這么長時間的面試,總結下來就是,測試人員不能只會像以前一樣只需要點點點了,基本上每個公司,別管用不用的到自動化測試,前提你要知道和了解,這就是經常聽到的一句話,面試造飛機,進去擰螺絲。好了,感謝您的閱讀,希望本篇文章可以幫助到您。
                    版權聲明:本文出自51Testing會員投稿,51Testing軟件測試網及相關內容提供者擁有內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容復制、轉載或進行鏡像,否則將追究法律責任。
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲