0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

一位測試工程師面試官的一些看法

工程師人生 ? 來源:網(wǎng)絡整理 ? 作者:工程師吳畏 ? 2018-08-31 09:52 ? 次閱讀

最近一段時間都在做集中招聘,參加了許多面試,累個半死。加上之前在團隊中最近幾年也做了不少面試,關于測試工程師招聘的話題,剛才沒事特意google了一下,除了一些面試題外居然沒有幾篇心得方面的文章。上午招聘輪空,抽空寫一下自己的看法,僅供參考。記得看完即焚。

所有團隊的招聘,基本上都是要找最“合適”的人,而不是技術最強的人,或者最優(yōu)秀的人。技術最強的人不一定合適,原因有很多,

1. 崗位一定的情況下,并不需要超出崗位能力特別多的人,完全沒有這個需求。

2. 性價比問題。因為這些人比較“貴”。如果不給比較高的待遇和級別,無法吸引這類候選人。

3. 如果團隊的整體技術水平是6分(滿分10分),但候選人是個10分,你覺得他會很樂意跟水平是6的人合作嗎?就像把詹姆斯請到cba來打球,即便你付得起薪水,詹姆斯自己也會很郁悶,在他眼中“不怕神一樣的對手,就怕豬一樣的隊友”。

4. 對管理的挑戰(zhàn)比較大,一般來講,強人一般在融入團隊方面有點小問題,除非遇見了比他更強的人??梢詤⒓酉挛牡姆羌夹g部分。

招聘的目的就是要找到最“合適”的人,跟結(jié)婚很像,要選擇跟自己搭得上的,自己不帥還要那些臉蛋漂亮、身材火爆的,沒用,早晚得離,弄不好還給自己帶一頂綠帽。 在團隊管理中也要充分發(fā)揮每個人的長處,揚長避短,讓合適的人做適合的事情,才能讓團隊的貢獻最大化(這是另外一個話題,以后有時間再寫)。所以在招聘中要試圖去發(fā)現(xiàn)候選人更多的優(yōu)點,而不是找他的缺點。你很容易就用一道特別難的題把候選人給問住,或者使勁在他不熟悉的領域讓他難堪,除了打擊一下候選人的自信之外沒啥意義。所以整個面試過程中,多數(shù)時間都花費在找優(yōu)點上。只要不是特別嚴重的缺點,都可以通過后期的團隊管理來弱化其影響。

技術方面

首先要確定,測試工程師是一個技術崗位。為了彰顯這一點,許多公司都把測試崗位的 title 改為測試開發(fā)工程師,像微軟的sdet(software design/develepment engineer in test)、谷歌叫set(software engineer in test)等。純粹的手動黑盒測試工程師早已不復存在。所以,技術技能是最基本的要求,我會針對初級崗位、高級崗位或?qū)I(yè)崗位的不同要求來講對招聘的要求。

代碼能力

對于測試開發(fā)工程師的招聘,由于其是基礎崗位,要求也是最基本的編碼能力,所以針對這類崗位,我一般會花費80%的面試時間在技術考核上。之前很多團隊遺留下來的惡習,總是覺得測試對技術的要求不高,強調(diào)“Test Sense”的重要性,我不是否定它的重要性,但對于應屆畢業(yè)生或者初級崗位的人,壓根兒沒做過測試,他有個屁的test sense,還不如去花點時間考核候選人的邏輯思維能力靠點譜。我一般喜歡讓候選人現(xiàn)場寫寫代碼,對絕對不是那種巨變態(tài)的算法問題,一般都是二分法、字符處理、簡單數(shù)據(jù)結(jié)構相關的小題目,只是想看看候選人有沒有基本的代碼功底。在review代碼的時候可以有針對性地對編碼語言的一些關鍵字提問,看看候選人的代碼掌控能力?;旧希灰馨炎约合敕ㄍㄟ^代碼實現(xiàn)且沒有大的邏輯錯誤,在代碼考核這一關都會放過。但如果要得到很高的分數(shù),那必須在代碼的可讀性、異常處理、算法效率、可測試性方面有比較好的表現(xiàn)。我認為對于測試工程師來說,寫代碼的能力是必須要有,但不一定要求到達“精通”的地步,特別是在算法效率方面。很多的測試工作,都是在工程系統(tǒng)的驗證層面上,你要那么牛逼的算法背景做甚? 未來轉(zhuǎn)崗去開發(fā)嗎?有人可能會在這里崩出來說了,編碼語言不精通說明潛力不足。潛力是什么?潛力只能說明你現(xiàn)在能力很差而已,有很大的上升空間。幸虧我寫這篇文章的時候只是沉溺在自己的思維世界里,否則還不被那些唱反調(diào)子的人給惡心死。好了,繼續(xù)聊我的。具備了基本的代碼能力,可以寫自動化的程序或者工具即可。在測試程序的算法效率和巧妙性上花費太多的時間,我覺得這是一種不務正業(yè)的表現(xiàn),除了有助于提高你的個人技術之外,對于公司的項目沒有任何的價值,對于測試來說,其自動化用例的編寫的效率要比執(zhí)行效率重要的多。在實際的工作中,腳本語言是也是測試代碼的最愛,life is short, test in Python,道理大家都懂。

測試思路(“Test Sense”)

對于一些稍微高端的崗位,例如資深測試開發(fā)工程師或者測試專家的招聘,需要考核更多的測試思路和測試技術(參見下一段),不再是簡單的程序設計問題。關于測試思路,在寫完一段代碼之后,會被要求來測試這段代碼。這個時候,候選人的測試思路就會涌現(xiàn)出來,嘗試盡可能多的測試方法與思路來測試這段代碼。一般的候選人會考慮正常情況下的使用場景、邊界情況、bad case等功能性的方面問題,這說明你入了門,知道基本的思路,而經(jīng)驗豐富的候選人,會在性能方面多考慮一些,例如performance test, load test, stress test(不知道他們的區(qū)別,我只能說你不是性能測試專家,趕緊去google一下吧)。在這里,肯定又有好事者會跳出來說了,哥是來應聘性能測試專家的,你讓我寫代碼我就認了,你還讓我針對這些代碼做性能測試,我可是正經(jīng)的性能測試出身,之前都是用的loadrunner、jmeter這些高端大氣上檔次的性能工具,根本不用自己寫代碼針對某個函數(shù)做性能測試。哎,遇到這種人,也不知道是他的不幸還是我的不幸,但在面試官面前我覺得你還是應該低調(diào)一些,如果你公開拒絕,我除了認為你比較坦誠之外還會認為你很有“潛力”,注意這個潛力是上一段中所說的潛力。廢話少說,白盒的性能測試或者叫性能分析能力,在跟蹤定位性能問題的時候特別重要,如果你還能把gperftool(google perfmance tool)、operfile等工具原理及使用場景告訴我,加分!性能測試絕對不是簡單的系統(tǒng)方面的性能測試,能夠指出整個系統(tǒng)的性能結(jié)果只是第一步,系統(tǒng)級別的性能測試工具loadrunner可以做到,但如果想定位到性能瓶頸所在、并提供改進方案那你就必須要掌握剛剛提到的白盒性能分析能力,從系統(tǒng)層面到模塊級別、再到函數(shù)級別的問題定位,這才能彰顯牛逼人的牛逼之處。就是比普通人多那么一點點。發(fā)現(xiàn)我的廢話還真多,繼續(xù)說測試思路的事情,優(yōu)秀的候選人會提供功能、性能方面的思路,再優(yōu)秀的人會提供更多的思路,例如穩(wěn)定性方面,這段代碼在持續(xù)運行24小時之后怎樣?函數(shù)的響應時間、內(nèi)存和cpu的占用情況還跟調(diào)用之初一樣嗎?是否符合預期?還有一些人會考慮安全方面的場景,在多線程的調(diào)用下程序會出錯嗎?是否線程安全?多進程的情況下呢,是否有共享的進程間數(shù)據(jù)安全問題,有沒有被死鎖的可能等等。還有很多測試思路方面的點子,在這里就不再一一羅列,你要感興趣,我們可以私下交流。總之,對于有豐富測試經(jīng)驗的人(可不是工作年頭),總是可以提出很多思路和方法,而獲得這些知識的唯一來源就是實踐,否則幾個問題深入下去你就露餡兒,而在面試過程中“誠信”永遠是底線,不可違背。

測試技術

針對高級測試崗位需要一些有針對性的測試技術類問題。例如,針對前端測試崗位,在技術提問上會由針對性地在前端提問,沒有自己寫過前端程序的人也很難把前端測試做好,html/css/js/Wartir/Selenium/Webdriver等方面的知識必不可少,開源的工具沒用過,沒有關系,你只要能把類似的思路說清楚也可以。怎樣精準定位web頁面上得元素、如何得到這個對象而不是另外一個相同類型的元素、背后原理是怎樣的,等等這種有針對性的問題很容易試探出候選人在前端測試方面的技術深度。再例如,一個測試工具開發(fā)的候選人必須知道框架、工具、平臺的區(qū)別,框架如何提供接口給業(yè)務測試人員使用,哪些是框架要解決的問題哪些是業(yè)務測試自己要解決的問題,他們的問題域和解決方案都必須要了如指掌。類似地,在單元測試、api測試、安全測試、mobile測試、后端服務測試、大數(shù)據(jù)測試等方面,都會有針對性的問題等著你。相比較之前的代碼能力,面試官一般更看中測試技術本身的掌握能力,代碼能力只能說明你有潛能,而測試技術是未來會在項目中真實用到的技術,會真正地幫助到測試本身的技術。

技術熱情

在之前的面試中,遇到很多候選人,但被問及為什么來選擇來做測試時,有些會說“我是女生,我很細心”。臥槽,適合不適合做測試跟細心有個毛線關系,我承認細心體貼是中華女性的傳統(tǒng)美德,可測試真不是靠細心就能做的很好的。而且我發(fā)現(xiàn)有一批人的確就是這么想的,所以有必要在這里啰嗦幾句??梢赃@樣說,細心地觀察是可以發(fā)現(xiàn)一個事物的某處缺陷,就像“鑒寶”節(jié)目中你要細致地觀察,你細心你可以發(fā)現(xiàn)某個青花瓷藏品中是否砂底有釉,但如果你不了解元青花背后的知識背景即便你發(fā)現(xiàn)了這個缺陷你也無法做出正確的判斷,相比較細心,更重要的是背后積累的技能知識。知識技能的增長因素中,很重要的就是技術熱情。所以即便候選人技能還不到火候,但如果技術熱情飽滿,我還是會認為這樣的人是真正有潛力的人,甚至會給一個通過。俗話說,“活到老,學到老”,背后依賴的就是熱情。沒有熱情的人就像是一潭死水,工作對他而言更多的是一份工作,毫無聲色與激情。在技術日新月異當下,沒有熱情,慢慢地你就“死”了。

技術之外

每一個崗位都有它的針對性,有及技能要求,也有技術之外的要求。團隊中需要什么樣的人,我們就招聘什么樣的人。除了技術能力之外,你最希望團隊中的人具有什么特質(zhì)?這個恐怕因人而異,但你不得不去思考這些問題。如果你招聘到一個不合適的人,對團隊的影響是巨大的,會破換團隊的水質(zhì)。一旦發(fā)現(xiàn)這類人,一定要“fire quickly”,否則遺患無窮。這里居然扯出了facebook得招聘理念“hire slowly, fire quickly”,我把它翻譯成“結(jié)婚慢慢找,離婚快點離”,哎呀,我的思路可真發(fā)散啊,都不知道自己要說啥了。:)

言歸正傳,在面試過程中,技術之外,考查更多的幾個軟技能大致如下, 1. 溝通能力。整個面試過程本身就是一次溝通的過程,你能夠很好地理解面試官的問題,面試官也能聽懂你的答案,perfect,這算是一次完美的溝通了嗎,體現(xiàn)了候選人優(yōu)良的溝通能力。錯,大錯特錯,特別是針對面試這種場景,針對測試這個崗位。候選人聽得懂你的問題,有可能是你講的很明白,而你能聽懂他的回答是因為你是這個問題域的專家,可以從少數(shù)關鍵字中抽取出正確的答案,這種語境下,并不能說明候選人就具備良好的表達能力或者優(yōu)秀的理解力。我個人認為,考核一個人的溝通能力時需要提問一些模糊的問題,在逆境下方顯能力。如果候選人可以針對你的問題多問幾個問題以及經(jīng)過后繼的一些反復確認,這才能證明他具備一定的溝通能力,并說明候選人是一個愛問問題的人,而對于測試來說,愛問問題或者懷疑的態(tài)度永遠是最彌足珍貴的品質(zhì)。 2. 團隊合作。測試是整個研發(fā)環(huán)節(jié)中的一環(huán),大型的項目更是需要多人一起測試完成。人與人一起打交道,就會有各種合作的需求。合作關系是一種共贏逐利的行為,強調(diào)同步與整體,節(jié)調(diào)一致。但對于一個產(chǎn)品或者項目,有人做紅花就要有人甘愿做綠葉,所以在合作中需要奉獻。情商較低的人團隊合作一般都比較困難。 3. 執(zhí)行力。執(zhí)行力不是簡單的聽話,“執(zhí)行”才是聽話,“力”更多的是強調(diào)執(zhí)行的結(jié)果。沒有一個主管喜歡不聽話的下屬,但聽話的下屬執(zhí)行力卻不一定強。很多人說的漂亮但做起來卻沒有說的那么好,相反,有些人動手能力很強,但不茍于言辭。堅強的人,或者笨的人更容易成功,因為他們懂得堅持。 4. 易相處。很多團隊強調(diào)這一點,一個nice的人,一般都很容易相處,團隊成員之間的關系也會比較和諧。一般情商比較高的同學,在這方面都不會有太大的問題。反倒是一些智商高的人,容易讓人有點擔憂。易相處絕對不是唯一的標準,不易相處的同學會給管理上帶來一定的難度,多數(shù)管理者都會希望自己的團隊成員不是那么的刺頭。但在面試的過程中對一個人做出這樣的判斷還是非常困難的。通用言談舉止,或許可以做出一定的判斷,但人一是會偽裝的,或者說是掩飾,特別是一些知道自己缺點的人,會嘗試掩蓋自己的不足。

面試技巧

所有的技巧基本上都沒有什么用處,基本上都是狗屎,再好的技巧都是為了掩飾。所以切記在面試過程中使用什么“技巧”。

最后

說了這么多,多數(shù)都是對候選人的要求,其實對于面試官也一樣,你配做面試官嗎?你能真實考察出候選人的能力嗎?你判斷的依據(jù)又是什么。千里馬難尋的背后往往是因為伯樂太少。寫這段話的時候,我也打了幾個激靈,!@#$%一身冷汗呀!面試的過程就是選擇的過程,不僅對于面試官,對于應聘者也是這樣,可以通過面試了解崗位的情況,以便做出適合自己的決定。坦誠,別裝,即便你騙過了面試官,在日后的工作中你也騙不了你自己,這對誰都沒有好處。公司找合適的人,個人選擇適合自己的公司,Double Win。

最后,關于招聘信息,不少互聯(lián)網(wǎng)公司都在微博上發(fā)布崗位信息,可以重點關注一下。但,別天天沒事就掛在微博上,微博上扯淡的人比較多,他們都是優(yōu)秀的time killer,專門扼殺你寶貴的時間還讓你覺得自己長了見識

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試工程師
    +關注

    關注

    6

    文章

    124

    瀏覽量

    12384
收藏 人收藏

    評論

    相關推薦

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題() Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗證工程師三者有什么區(qū)別? A:FPGA 算法
    發(fā)表于 09-23 18:26

    面試嵌入式工作,會被問什么問題?

    面試嵌入式工作時,面試官可能會從多個方面考察應聘者的知識、技能和經(jīng)驗。以下是一些常見的嵌入式工作面試問題,這些問題涵蓋了基礎知識、專業(yè)技能、項目經(jīng)驗和個人能力等方面
    的頭像 發(fā)表于 07-17 09:26 ?1602次閱讀
    <b class='flag-5'>面試</b>嵌入式工作,會被問什么問題?

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領域中的種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    款適合嵌入式工程師使用的在線工具

    款適合嵌入式工程師使用的在線工具,工具有如下功能,如下圖所示: 1. 報文校驗功能,如下圖所示 2. UDP服務端測試工具:該UDP服務端工具可以理解為 “UDP服務端” 或者 “服務器
    發(fā)表于 04-09 22:20

    為何國外工程師偏愛使用for(;;)來實現(xiàn)MCU死循環(huán)?

    一位工程師發(fā)現(xiàn),國外工程師在給demo在做死循環(huán)時用的是for(;;),而不是常用的while(1)。這僅僅是個人習慣的問題,還是有更深層次的含義?
    發(fā)表于 04-01 11:26 ?494次閱讀
    為何國外<b class='flag-5'>工程師</b>偏愛使用for(;;)來實現(xiàn)MCU死循環(huán)?

    一位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    為什么要做自動化測試?測試工程師存在的必然性

    軟件測試這個過程的實施主體就是測試工程師。那么多少個測試工程師比較合適呢,或者換句話說如上的事情必須要測試工程師完成嗎?
    的頭像 發(fā)表于 01-16 11:32 ?838次閱讀

    什么是自動時鐘門控結(jié)構呢?關于自動時鐘門控的解析

    每次作為面試官一些RTL功耗優(yōu)化的問題時候,都會希望聽到個答案:優(yōu)化了RTL的clk-gating比例。
    的頭像 發(fā)表于 12-04 14:56 ?1175次閱讀
    什么是自動時鐘門控結(jié)構呢?關于自動時鐘門控的解析

    硬件工程師經(jīng)典面試題詳解

    硬件工程師經(jīng)典面試題詳解
    的頭像 發(fā)表于 11-20 15:08 ?1297次閱讀
    硬件<b class='flag-5'>工程師</b>經(jīng)典<b class='flag-5'>面試</b>題詳解

    求助,關于AD603做成VGA的一些問題

    手冊的圖49以及圖33進行更改畫出的電路圖,請問精通該芯片的工程師,上面的電路能實現(xiàn)我前面所說的5點要求嗎?如果有問題的話,需要如何修改才能實現(xiàn)要求? 小弟還有一些關于AD603的一些問題想讓相應
    發(fā)表于 11-20 07:19

    FPGA工程師需要具備哪些技能?

    。 FPGA工程師在進行DSP電路設計之前,需要深入了解數(shù)字信號處理技術。他們需要掌握數(shù)字信號處理中的概念和基礎知識,例如濾波器、傅里葉變換、數(shù)字信號采樣等。FPGA工程師還需要了解一些DSP開發(fā)板
    發(fā)表于 11-09 11:03

    Linux下的stress-ng壓力測試工具介紹

    今天浩道跟大家分享Linux下款強大的壓力測試工具------stress-ng,這款測試工具對于運維工程師或者測試工程師,還是比較受歡迎
    的頭像 發(fā)表于 11-03 09:31 ?6914次閱讀
    Linux下的stress-ng壓力<b class='flag-5'>測試工</b>具介紹