前言:
沒有絕對的天才,只有持續不斷的付出,對于我們每一個平凡人來說,改變命運只能依靠努力+幸運,但如果你不夠幸運,那就只能拉高努力的占比,
2023年3月,我有幸成為了位元組跳動的一名自動化測驗工程師,正如標題所說,我從外包辭職了,10000小時后,走進位元組跳動拿下了offer,
相信同行都清楚,從外包進大廠有多難,運氣之余,也離不開我自己的腳踏實地,所幸每踏出的一步都留下了厚厚的腳印,
位元組跳動測驗工程師4面試經歷還原
一面
- 自我介紹
- 談談您的自動化測驗經驗
- 請問您在測驗用例設計方面有什么經驗嗎?
- 如果需要撰寫UI自動化測驗,你會選擇哪些工具和框架為基礎?
- 進行UI自動化測驗時,你會如何解決頁面元素變更導致的腳本失效問題?
- 你所熟悉的自動化測驗中,測驗覆寫率是如何保障的?
- 能否談談關于Mock的一些經驗和思考?
- 對于不易自動化的場景,你有什么處理方式?
- 您是否使用過分布式系統做自動化測驗?請簡要談談您的想法,
- 在自動化測驗方面,你覺得最重要的是什么?
二面
- 自我介紹
- 能否詳細講述一下性能測驗的流程?
- 在進行性能測驗時,你如何選擇性能測驗工具?
- 在壓力測驗中,如何定義合理的負載均衡策略?
- 在進行并發測驗時,你會如何處理可能存在的執行緒安全問題?
- 在進行API測驗時,你會選擇哪些工具和框架?
- 對于一個測驗環境的建立,你通常需要哪
三面
1.請問你是如何對一個新的專案進行自動化測驗規劃的?
2.你可以談談你最擅長的自動化測驗工具和框架是什么,以及為什么選擇這些工具和框架?
3.當你遇到一個難以自動化測驗的場景時,你會采取哪些措施來解決這個問題?
4.你如何確保你撰寫的自動化測驗用例對應的業務邏輯正確無誤?
5.你認為在持續集成/持續交付環境下應該如何管理和運行自動化測驗用例?
6.請描述一下你做過的性能測驗專案,包括使用的工具和方法以及測驗結果,
7.你是否有經驗使用Selenium或Appium自動化測驗移動端應用?如果有,你是如何進行測驗的?
8.在測驗程序中你是否會撰寫腳本或工具來輔助你完成任務?如果有,請提供一個例子,
9.你是否熟悉安全測驗?可以談談你所知道的安全測驗的方法和技術嗎?
10.最后,請說說你對軟體測驗未來的發展趨勢有哪些看法?
位元組跳動面試總結(一些心得和小建議)
位元組跳動對演算法真的非常重要,提前刷題真的很有必要,不然基本上沒戲,運氣好的說不定還能被問到原題,當然你是演算法大神,就不需要浪費時間在這上面了,
基本上每輪都有演算法題,1~3道左右,難度不一,一般根據當次面試情況來的,會考慮的面試者的表現,但也不會太為難你,
拿到演算法題時,不要立即作答,可以先和面試官聊一下自己的思路,
我為什么想要去位元組跳動?(位元組跳動的優勢)
①福利待遇
我不是hr,也不是給位元組打廣告,這里真的要提一下位元組跳動的福利待遇絕對是一線廠子里數一數二的,加上我是外包出身,這種待遇給我造成的落差感就更明顯,讓我覺得能夠進位元組跳動作業算是我最大的幸運了,
至于福利待遇,這里隨便提及幾點:
彈性打卡
房補(額度算很高了,算很人性化)
免費的三餐、下午茶(吃胖了)
免費健身房
頂配16寸MacBook
各種節日禮包
②巨大的知識庫
位元組跳動對于我來說,算是一個巨大的知識庫,之所以這么說,從面試的流程及細節,到后來我入職之后作業上面的安排,都讓我有不一樣的觸動,從這幾方面,我們都能夠感受到公司對于員工的職業規劃非常重視,你的主管和導師都會主動去找你溝通這方面的,這對比我之前的外包,是截然不同的地方,而在這個交流程序中,我獲得到的,不是一星半點,
最讓我佩服的是,位元組有統一的入口可以導航到海量的指南和知識沉淀,甚至是其他各個產品線整理的技術和業務檔案等等,
③我看到了認同
來到位元組,我看到了認同,識訓了歸屬感,位元組跳動雖然年輕,但在做事上有共同一致的目標,這里的人講“位元組范兒”,它不是條條框框的束縛,它是一種精神食糧,實質是一種價值認同,恰好,擁有同一種價值認同的人走到了一起,
④雖辛苦,但不感覺累
位元組跳動是一家非常年輕化的公司,對于一線的互聯網公司來說,996是常態,位元組跳動也脫離不開“加班”二字,但是位元組給我最大不同的感受是,忙碌且生機勃勃,在位元組作業一段時間了,我也算是跟上了這里的節奏,雖然辛苦,但我卻一點也不感覺累,因為在充實的作業環境中,我是有所識訓的,在公司野蠻生長的同時,我個人也得到了快速的成長,
另外,別以為一線大廠的“打工人”只會死作業,位元組人最大的特點就是年輕,他們同樣會玩,每個人都有自己的愛好,騎行、狼人殺、健身、攝影、瑜伽等等,這與我之前對大廠人的印象顯然不同,我也一點一點在慢慢被影響著,
⑤反思:關注作業效率
以前覺得自己的作業效率和時間管理做得還不錯,至少能拿出時間做一點大家想做卻沒有做的事情,但現在才發現這也許只是錯覺,你總做容易的事情,當然不會感覺到時間的壓力,即便是專案進度比較緊的時候,加加班,搞搞996似乎也就那么回事,我們通常都會愿意延長時間,而不是考慮如何提高效率,在同樣的時間內完成更多的作業,當然也有很多不言自明的客觀原因,
來位元組后,我才從身邊同事的作業細節中看到了什么才是“效率”,
外包教了我什么?(積累了什么?)
很多人認為在外包學不到什么東西,但我卻不這么認為,無論你身處什么環境,造成什么樣結果的人都是你自己,所以,在外包作業的這些年,我并不是單一的機械化敲代碼,在這個程序中,我會主動地去復盤,去總結,去學習,而慢慢積累的作業方式才鑄就了我今天的“質變”,
在外包中,我積累到了什么?
代碼效率;
各種專案和業務的理解;
熟練使用增刪改查,
在外包中,我復盤了什么?做了哪些總結?(寫了一些博客,做了一些筆記總結,附下PDF)
雖然說是面經手冊,但是里面的涵蓋的知識點還是很全面、很細的,一共分了一下十幾個大部分:
全網首發-涵蓋16個技術堆疊
- 第一部分,測驗理論(測驗基礎+需求分析+測驗模型+測驗計劃+測驗策略+測驗案例等等)
- 第二部分,Linux( Linux基礎+Linux練習題)
- 第三部分,MySQL(基礎知識+查詢練習+萬年學生表經典面試題匯總+資料庫企業真題)
- 第四部分,Web測驗
- 第五部分,API測驗
- 第六部分,App測驗
- 第七部分,管理工具
- 第八部分,Python基礎(Python基礎+編程題+集合+函式+Python特性等等)
- 第九部分,Selenium相關
- 第十部分,性能測驗
- 第十一部分,LordRunner相關
- 第十二部分,計算機網路
- 第十三部分,組成原理
- 第十四部分,資料結構與演算法
- 第十五部分,邏輯題
- 第十六部分,人力資源
軟體測驗基礎
- 軟體測驗的步驟是什么?
- 如何錄制測驗腳本?
- 應該考慮進行如何測驗的測驗方法
- 怎樣估計測驗作業量?
- 測驗設計的問題
- 當測驗程序發生錯誤時,有哪幾種解決辦法?
- 測驗執行的問題
- 測驗評估的目標
- 如何提高測驗?
- C/S模式的優點和缺點
- B/S模式的優點和缺點
- …
Linux
- grep和find的區別? grep 都有哪些用法?
- 查看IP地址?
- 創建和洗掉一個多級目錄?
- 在當前用戶家目錄中查找haha.txt檔案?
- 如何查詢出tomcat的行程并殺掉這個行程,寫出linux命令?
- 動態查看日志檔案?
- 查看系統硬碟空間的命令?
- 查看當前機器listen 的所有埠?
- …
?
Python
- 統計python源代碼檔案中代碼行數,去除注釋,空行,進行輸出?
- python呼叫cmd并回傳結果?
- 冒泡排序
- 1,2,3,4 這4個數字,能組成多少個互不相同的且無重復的三位數,都是多少?
- 請用 python 列印出 10000 以內的對稱數(對稱數特點:數字左右對稱,如:1,2,11,121,1221 等)
- 給定一個整數 N,和一個 0-9 的數 K,要求回傳 0-N 中數字 K 出現的次數
- 判斷 101-200 之間有多少個素數,并輸出所有的素數
- 一個輸入三角形的函式,輸入后輸出是否能組成三角形,三角形型別,請用等價類- 劃分法設計測驗用例
- …
?
MySQL
- 你用的Mysql是哪個引擎,各引擎之間有什么區別?
- 如何對查詢命令進行優化?
- 資料庫的優化?
- Sql注入是如何產“生的,如何防止?
- NoSQL和關系資料庫的區別?
- MySQL與MongoDB本質之間最基本的差別是什么
- Mysql資料庫中怎么實作分頁?
- Mysql資料庫的操作?
- 優化資料庫?提高資料庫的性能?
- 什么是資料的完整性?
- …
?
Web
- Web測驗和app測驗區別?
- WEB測驗環境搭建和測驗方法
- WEB測驗教程
- WEB測驗要點及基本方法
- Web測驗頁面總結
- …
?
介面測驗
- 什么是介面
- 如果模塊請求http改為了https,測驗方案應該如何制定,修改?
- 常用HTTP 協議除錯代理I具有什么?詳細說明抓取HTTPS協議的設定程序?
- 描述TCP/IP協議的層次結構,以及每一-層中重要協議
- jmeter,一個介面的回應結果如下:
- 介面產生的垃圾資料如何清理
- 依賴第三方的介面如何處理
- 測驗的資料你放在哪?
- 什么是資料驅動,如何引數化?
- …
?
性能測驗
- 你認為性能測驗的目的是什么?做好性能測驗的作業的關鍵是什么?
- 服務端性能分析都從哪些角度來進行?
- 如何理解壓力測驗,負裁測驗以及性能測驗?
- 如何判斷是否有記憶體泄漏及關注的指標?
- 描述軟體產“生記憶體泄露的原因以及檢查方式,(可以結合- 種開發語言進行描述)
- 簡述什么是值傳遞,什么是地址傳遞,兩者區別是什么?
- 什么是系統瓶頸?
- …
?
selenium
- 如何開展自動化測驗框架的構建?
- 如何設計自動化測驗用例:
- webdriver如何開啟和退出一個瀏覽器?
- 什么是自動化測驗框架?
- Selenium是什么,流行的版本有哪些?
- 你如何從命令列啟動Selenium RC?
- 在我的機器埠4444不是免費的,我怎樣才能使用另一個埠?
- 什么是Selenium Server,它與Selenium Hub有什么不同?
- 你如何從Selenium連接到資料庫?
- 你如何驗證多個頁面上存在的一個物件?
- XPath中使用單斜杠和雙斜杠有什么區別?
- 如何撰寫SeleniumIDE/ RC的用戶擴展?
- 如何在頁面加載成功后驗證元素的存在?
- 你對Selenium Grid有什么了解?它提供了什么功能?
- 如何從你的Java Class啟動Selenium服務器?
- Selenium中有哪些驗證點?
- 什么是XPath?什么時候應該在Selenium中使用XPath?
…
?
計算機與網路
- 一臺計算機的IP是192.168.10.71子網掩碼255.255.255.64與192.168.10.201 …
- 請簡述DNS、活動目錄、域的概念,
- 10M兆寬帶是什么意思?理論下載速度是多少?
- 什么是IP地址?
- OSI七層網路模型的劃分?
- TCP和UDP有什么不同?
- HTTP屬于哪一層的協議?
- HTTP和HTTPS的區別?
- cookies和session的區別?
- HTTP的get請求和post請求的區別?
- HTTP1.0和HTTP1.1有什么區別
- TCP的連接建立程序,以及斷開程序?
- 客戶端使用DHCP獲取IP的程序?
- 寫出某個網段的網路地址和廣播地址?
- …
人力資源
- 你的測驗職業發展是什么?你自認為做測驗的優勢在哪里?
- 你找作業時,最重要的考慮因素為何?
- 為什么我們應該錄取你?
- 請談談你個人的最大特色,
- 一個測驗工程師應具備那些素質和技能?
- 還有問一下你是怎樣保證軟體質量的,也就是說你覺得怎樣才能最大限度地保證軟體質量?
- 為什么選擇測驗這行?
- 如果我雇用你,你能給部門帶來什么貢獻?
- …
最后
這份檔案,對于想從事【自動化測驗】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!這些都放在了我的軟體測驗學習交流qq群里:110685036
另特意為各位同學準備了一份13G的超實用干貨自學資源,涉及的內容非常全面,涵蓋功能測驗、Linux資料庫、Python編程語言,介面測驗、UI自動化測驗、性能測驗......包括軟體學習路線圖,50多天的上課視頻、16個突擊實戰專案(滿足你對測驗經驗的需求),80余個軟體測驗用軟體,37份測驗檔案,70個軟體測驗相關問題,40篇測驗經驗級文章,上千份測驗真題分享,還有2023軟體測驗面試寶典,還有軟體測驗求職的各類精選簡歷,希望對大家有所幫助…這些都在我的軟體測驗學習交流群里:110685036轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551757.html
標籤:其他
上一篇:轉行面試,跳槽面試,軟體測驗人員都必須知道的這幾種面試技巧
下一篇:返回列表
