最近一段時(shí)間都在做集中招聘,參加了許多面試,累個(gè)半死。加上之前在團(tuán)隊(duì)中最近幾年也做了不少面試,關(guān)于測(cè)試工程師招聘的話題,剛才沒(méi)事特意google了一下,除了一些面試題外居然沒(méi)有幾篇心得方面的文章。上午招聘輪空,抽空寫一下自己的看法,僅供參考。記得看完即焚。 所有團(tuán)隊(duì)的招聘,基本上都是要找最“合適”的人,而不是技術(shù)最強(qiáng)的人,或者最優(yōu)秀的人。技術(shù)最強(qiáng)的人不一定合適,原因有很多, 1. 崗位一定的情況下,并不需要超出崗位能力特別多的人,完全沒(méi)有這個(gè)需求。 2. 性價(jià)比問(wèn)題。因?yàn)檫@些人比較“貴”。如果不給比較高的待遇和級(jí)別,無(wú)法吸引這類候選人。 3. 如果團(tuán)隊(duì)的整體技術(shù)水平是6分(滿分10分),但候選人是個(gè)10分,你覺(jué)得他會(huì)很樂(lè)意跟水平是6的人合作嗎?就像把詹姆斯請(qǐng)到cba來(lái)打球,即便你付得起薪水,詹姆斯自己也會(huì)很郁悶,在他眼中“不怕神一樣的對(duì)手,就怕豬一樣的隊(duì)友”。 4. 對(duì)管理的挑戰(zhàn)比較大,一般來(lái)講,強(qiáng)人一般在融入團(tuán)隊(duì)方面有點(diǎn)小問(wèn)題,除非遇見(jiàn)了比他更強(qiáng)的人??梢詤⒓酉挛牡姆羌夹g(shù)部分。 招聘的目的就是要找到最“合適”的人,跟結(jié)婚很像,要選擇跟自己搭得上的,自己不帥還要那些臉蛋漂亮、身材火爆的,沒(méi)用,早晚得離,弄不好還給自己帶一頂綠帽。 在團(tuán)隊(duì)管理中也要充分發(fā)揮每個(gè)人的長(zhǎng)處,揚(yáng)長(zhǎng)避短,讓合適的人做適合的事情,才能讓團(tuán)隊(duì)的貢獻(xiàn)最大化(這是另外一個(gè)話題,以后有時(shí)間再寫)。所以在招聘中要試圖去發(fā)現(xiàn)候選人更多的優(yōu)點(diǎn),而不是找他的缺點(diǎn)。你很容易就用一道特別難的題把候選人給問(wèn)住,或者使勁在他不熟悉的領(lǐng)域讓他難堪,除了打擊一下候選人的自信之外沒(méi)啥意義。所以整個(gè)面試過(guò)程中,多數(shù)時(shí)間都花費(fèi)在找優(yōu)點(diǎn)上。只要不是特別嚴(yán)重的缺點(diǎn),都可以通過(guò)后期的團(tuán)隊(duì)管理來(lái)弱化其影響。 技術(shù)方面 首先要確定,測(cè)試工程師是一個(gè)技術(shù)崗位。為了彰顯這一點(diǎn),許多公司都把測(cè)試崗位的 title 改為測(cè)試開(kāi)發(fā)工程師,像微軟的sdet(software design/develepment engineer in test)、谷歌叫set(software engineer in test)等。純粹的手動(dòng)黑盒測(cè)試工程師早已不復(fù)存在。所以,技術(shù)技能是最基本的要求,我會(huì)針對(duì)初級(jí)崗位、高級(jí)崗位或?qū)I(yè)崗位的不同要求來(lái)講對(duì)招聘的要求。 代碼能力 對(duì)于測(cè)試開(kāi)發(fā)工程師的招聘,由于其是基礎(chǔ)崗位,要求也是最基本的編碼能力,所以針對(duì)這類崗位,我一般會(huì)花費(fèi)80%的面試時(shí)間在技術(shù)考核上。之前很多團(tuán)隊(duì)遺留下來(lái)的惡習(xí),總是覺(jué)得測(cè)試對(duì)技術(shù)的要求不高,強(qiáng)調(diào)“Test Sense”的重要性,我不是否定它的重要性,但對(duì)于應(yīng)屆畢業(yè)生或者初級(jí)崗位的人,壓根兒沒(méi)做過(guò)測(cè)試,他有個(gè)屁的test sense,還不如去花點(diǎn)時(shí)間考核候選人的邏輯思維能力靠點(diǎn)譜。我一般喜歡讓候選人現(xiàn)場(chǎng)寫寫代碼,對(duì)絕對(duì)不是那種巨**的算法問(wèn)題,一般都是二分法、字符處理、簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)相關(guān)的小題目,只是想看看候選人有沒(méi)有基本的代碼功底。在review代碼的時(shí)候可以有針對(duì)性地對(duì)編碼語(yǔ)言的一些關(guān)鍵字提問(wèn),看看候選人的代碼掌控能力。基本上,只要能把自己想法通過(guò)代碼實(shí)現(xiàn)且沒(méi)有大的邏輯錯(cuò)誤,在代碼考核這一關(guān)都會(huì)放過(guò)。但如果要得到很高的分?jǐn)?shù),那必須在代碼的可讀性、異常處理、算法效率、可測(cè)試性方面有比較好的表現(xiàn)。我認(rèn)為對(duì)于測(cè)試工程師來(lái)說(shuō),寫代碼的能力是必須要有,但不一定要求到達(dá)“精通”的地步,特別是在算法效率方面。很多的測(cè)試工作,都是在工程系統(tǒng)的驗(yàn)證層面上,你要那么牛逼的算法背景做甚? 未來(lái)轉(zhuǎn)崗去開(kāi)發(fā)嗎?有人可能會(huì)在這里崩出來(lái)說(shuō)了,編碼語(yǔ)言不精通說(shuō)明潛力不足。潛力是什么?潛力只能說(shuō)明你現(xiàn)在能力很差而已,有很大的上升空間。幸虧我寫這篇文章的時(shí)候只是沉溺在自己的思維世界里,否則還不被那些唱反調(diào)子的人給惡心死。好了,繼續(xù)聊我的。具備了基本的代碼能力,可以寫自動(dòng)化的程序或者工具即可。在測(cè)試程序的算法效率和巧妙性上花費(fèi)太多的時(shí)間,我覺(jué)得這是一種不務(wù)正業(yè)的表現(xiàn),除了有助于提高你的個(gè)人技術(shù)之外,對(duì)于公司的項(xiàng)目沒(méi)有任何的價(jià)值,對(duì)于測(cè)試來(lái)說(shuō),其自動(dòng)化用例的編寫的效率要比執(zhí)行效率重要的多。在實(shí)際的工作中,腳本語(yǔ)言是也是測(cè)試代碼的最愛(ài),life is short, test in Python,道理大家都懂。 測(cè)試思路(“Test Sense”) 對(duì)于一些稍微高端的崗位,例如資深測(cè)試開(kāi)發(fā)工程師或者測(cè)試專家的招聘,需要考核更多的測(cè)試思路和測(cè)試技術(shù)(參見(jiàn)下一段),不再是簡(jiǎn)單的程序設(shè)計(jì)問(wèn)題。關(guān)于測(cè)試思路,在寫完一段代碼之后,會(huì)被要求來(lái)測(cè)試這段代碼。這個(gè)時(shí)候,候選人的測(cè)試思路就會(huì)涌現(xiàn)出來(lái),嘗試盡可能多的測(cè)試方法與思路來(lái)測(cè)試這段代碼。一般的候選人會(huì)考慮正常情況下的使用場(chǎng)景、邊界情況、bad case等功能性的方面問(wèn)題,這說(shuō)明你入了門,知道基本的思路,而經(jīng)驗(yàn)豐富的候選人,會(huì)在性能方面多考慮一些,例如performance test, load test, stress test(不知道他們的區(qū)別,我只能說(shuō)你不是性能測(cè)試專家,趕緊去google一下吧)。在這里,肯定又有好事者會(huì)跳出來(lái)說(shuō)了,哥是來(lái)應(yīng)聘性能測(cè)試專家的,你讓我寫代碼我就認(rèn)了,你還讓我針對(duì)這些代碼做性能測(cè)試,我可是正經(jīng)的性能測(cè)試出身,之前都是用的loadrunner、jmeter這些高端大氣上檔次的性能工具,根本不用自己寫代碼針對(duì)某個(gè)函數(shù)做性能測(cè)試。哎,遇到這種人,也不知道是他的不幸還是我的不幸,但在面試官面前我覺(jué)得你還是應(yīng)該低調(diào)一些,如果你公開(kāi)拒絕,我除了認(rèn)為你比較坦誠(chéng)之外還會(huì)認(rèn)為你很有“潛力”,注意這個(gè)潛力是上一段中所說(shuō)的潛力。廢話少說(shuō),白盒的性能測(cè)試或者叫性能分析能力,在跟蹤定位性能問(wèn)題的時(shí)候特別重要,如果你還能把gperftool(google perfmance tool)、operfile等工具原理及使用場(chǎng)景告訴我,加分!性能測(cè)試絕對(duì)不是簡(jiǎn)單的系統(tǒng)方面的性能測(cè)試,能夠指出整個(gè)系統(tǒng)的性能結(jié)果只是第一步,系統(tǒng)級(jí)別的性能測(cè)試工具loadrunner可以做到,但如果想定位到性能瓶頸所在、并提供改進(jìn)方案那你就必須要掌握剛剛提到的白盒性能分析能力,從系統(tǒng)層面到模塊級(jí)別、再到函數(shù)級(jí)別的問(wèn)題定位,這才能彰顯牛逼人的牛逼之處。就是比普通人多那么一點(diǎn)點(diǎn)。發(fā)現(xiàn)我的廢話還真多,繼續(xù)說(shuō)測(cè)試思路的事情,優(yōu)秀的候選人會(huì)提供功能、性能方面的思路,再優(yōu)秀的人會(huì)提供更多的思路,例如穩(wěn)定性方面,這段代碼在持續(xù)運(yùn)行24小時(shí)之后怎樣?函數(shù)的響應(yīng)時(shí)間、內(nèi)存和cpu的占用情況還跟調(diào)用之初一樣嗎?是否符合預(yù)期?還有一些人會(huì)考慮安全方面的場(chǎng)景,在多線程的調(diào)用下程序會(huì)出錯(cuò)嗎?是否線程安全?多進(jìn)程的情況下呢,是否有共享的進(jìn)程間數(shù)據(jù)安全問(wèn)題,有沒(méi)有被死鎖的可能等等。還有很多測(cè)試思路方面的點(diǎn)子,在這里就不再一一羅列,你要感興趣,我們可以私下交流??傊瑢?duì)于有豐富測(cè)試經(jīng)驗(yàn)的人(可不是工作年頭),總是可以提出很多思路和方法,而獲得這些知識(shí)的唯一來(lái)源就是實(shí)踐,否則幾個(gè)問(wèn)題深入下去你就露餡兒,而在面試過(guò)程中“誠(chéng)信”永遠(yuǎn)是底線,不可違背。 測(cè)試技術(shù) 針對(duì)高級(jí)測(cè)試崗位需要一些有針對(duì)性的測(cè)試技術(shù)類問(wèn)題。例如,針對(duì)前端測(cè)試崗位,在技術(shù)提問(wèn)上會(huì)由針對(duì)性地在前端提問(wèn),沒(méi)有自己寫過(guò)前端程序的人也很難把前端測(cè)試做好,html/css/js/Wartir/Selenium/Webdriver等方面的知識(shí)必不可少,開(kāi)源的工具沒(méi)用過(guò),沒(méi)有關(guān)系,你只要能把類似的思路說(shuō)清楚也可以。怎樣精準(zhǔn)定位web頁(yè)面上得元素、如何得到這個(gè)對(duì)象而不是另外一個(gè)相同類型的元素、背后原理是怎樣的,等等這種有針對(duì)性的問(wèn)題很容易試探出候選人在前端測(cè)試方面的技術(shù)深度。再例如,一個(gè)測(cè)試工具開(kāi)發(fā)的候選人必須知道框架、工具、平臺(tái)的區(qū)別,框架如何提供接口給業(yè)務(wù)測(cè)試人員使用,哪些是框架要解決的問(wèn)題哪些是業(yè)務(wù)測(cè)試自己要解決的問(wèn)題,他們的問(wèn)題域和解決方案都必須要了如指掌。類似地,在單元測(cè)試、api測(cè)試、安全測(cè)試、mobile測(cè)試、后端服務(wù)測(cè)試、大數(shù)據(jù)測(cè)試等方面,都會(huì)有針對(duì)性的問(wèn)題等著你。相比較之前的代碼能力,面試官一般更看中測(cè)試技術(shù)本身的掌握能力,代碼能力只能說(shuō)明你有潛能,而測(cè)試技術(shù)是未來(lái)會(huì)在項(xiàng)目中真實(shí)用到的技術(shù),會(huì)真正地幫助到測(cè)試本身的技術(shù)。 技術(shù)熱情 在之前的面試中,遇到很多候選人,但被問(wèn)及為什么來(lái)選擇來(lái)做測(cè)試時(shí),有些會(huì)說(shuō)“我是女生,我很細(xì)心”。臥槽,適合不適合做測(cè)試跟細(xì)心有個(gè)毛線關(guān)系,我承認(rèn)細(xì)心體貼是中華女性的傳統(tǒng)美德,可測(cè)試真不是靠細(xì)心就能做的很好的。而且我發(fā)現(xiàn)有一批人的確就是這么想的,所以有必要在這里啰嗦幾句??梢赃@樣說(shuō),細(xì)心地觀察是可以發(fā)現(xiàn)一個(gè)事物的某處缺陷,就像“鑒寶”節(jié)目中你要細(xì)致地觀察,你細(xì)心你可以發(fā)現(xiàn)某個(gè)青花瓷藏品中是否砂底有釉,但如果你不了解元青花背后的知識(shí)背景即便你發(fā)現(xiàn)了這個(gè)缺陷你也無(wú)法做出正確的判斷,相比較細(xì)心,更重要的是背后積累的技能知識(shí)。知識(shí)技能的增長(zhǎng)因素中,很重要的就是技術(shù)熱情。所以即便候選人技能還不到火候,但如果技術(shù)熱情飽滿,我還是會(huì)認(rèn)為這樣的人是真正有潛力的人,甚至?xí)o一個(gè)通過(guò)。俗話說(shuō),“活到老,學(xué)到老”,背后依賴的就是熱情。沒(méi)有熱情的人就像是一潭死水,工作對(duì)他而言更多的是一份工作,毫無(wú)聲色與激情。在技術(shù)日新月異當(dāng)下,沒(méi)有熱情,慢慢地你就“死”了。 技術(shù)之外 每一個(gè)崗位都有它的針對(duì)性,有及技能要求,也有技術(shù)之外的要求。團(tuán)隊(duì)中需要什么樣的人,我們就招聘什么樣的人。除了技術(shù)能力之外,你最希望團(tuán)隊(duì)中的人具有什么特質(zhì)?這個(gè)恐怕因人而異,但你不得不去思考這些問(wèn)題。如果你招聘到一個(gè)不合適的人,對(duì)團(tuán)隊(duì)的影響是巨大的,會(huì)破換團(tuán)隊(duì)的水質(zhì)。一旦發(fā)現(xiàn)這類人,一定要“fire quickly”,否則遺患無(wú)窮。這里居然扯出了facebook得招聘理念“hire slowly, fire quickly”,我把它翻譯成“結(jié)婚慢慢找,離婚快點(diǎn)離”,哎呀,我的思路可真發(fā)散啊,都不知道自己要說(shuō)啥了。:) 言歸正傳,在面試過(guò)程中,技術(shù)之外,考查更多的幾個(gè)軟技能大致如下, 1. 溝通能力。整個(gè)面試過(guò)程本身就是一次溝通的過(guò)程,你能夠很好地理解面試官的問(wèn)題,面試官也能聽(tīng)懂你的答案,perfect,這算是一次完美的溝通了嗎,體現(xiàn)了候選人優(yōu)良的溝通能力。錯(cuò),大錯(cuò)特錯(cuò),特別是針對(duì)面試這種場(chǎng)景,針對(duì)測(cè)試這個(gè)崗位。候選人聽(tīng)得懂你的問(wèn)題,有可能是你講的很明白,而你能聽(tīng)懂他的回答是因?yàn)槟闶沁@個(gè)問(wèn)題域的專家,可以從少數(shù)關(guān)鍵字中抽取出正確的答案,這種語(yǔ)境下,并不能說(shuō)明候選人就具備良好的表達(dá)能力或者優(yōu)秀的理解力。我個(gè)人認(rèn)為,考核一個(gè)人的溝通能力時(shí)需要提問(wèn)一些模糊的問(wèn)題,在逆境下方顯能力。如果候選人可以針對(duì)你的問(wèn)題多問(wèn)幾個(gè)問(wèn)題以及經(jīng)過(guò)后繼的一些反復(fù)確認(rèn),這才能證明他具備一定的溝通能力,并說(shuō)明候選人是一個(gè)愛(ài)問(wèn)問(wèn)題的人,而對(duì)于測(cè)試來(lái)說(shuō),愛(ài)問(wèn)問(wèn)題或者懷疑的態(tài)度永遠(yuǎn)是最彌足珍貴的品質(zhì)。 2. 團(tuán)隊(duì)合作。測(cè)試是整個(gè)研發(fā)環(huán)節(jié)中的一環(huán),大型的項(xiàng)目更是需要多人一起測(cè)試完成。人與人一起打交道,就會(huì)有各種合作的需求。合作關(guān)系是一種共贏逐利的行為,強(qiáng)調(diào)同步與整體,節(jié)調(diào)一致。但對(duì)于一個(gè)產(chǎn)品或者項(xiàng)目,有人做紅花就要有人甘愿做綠葉,所以在合作中需要奉獻(xiàn)。情商較低的人團(tuán)隊(duì)合作一般都比較困難。 3. 執(zhí)行力。執(zhí)行力不是簡(jiǎn)單的聽(tīng)話,“執(zhí)行”才是聽(tīng)話,“力”更多的是強(qiáng)調(diào)執(zhí)行的結(jié)果。沒(méi)有一個(gè)主管喜歡不聽(tīng)話的下屬,但聽(tīng)話的下屬執(zhí)行力卻不一定強(qiáng)。很多人說(shuō)的漂亮但做起來(lái)卻沒(méi)有說(shuō)的那么好,相反,有些人動(dòng)手能力很強(qiáng),但不茍于言辭。堅(jiān)強(qiáng)的人,或者笨的人更容易成功,因?yàn)樗麄兌脠?jiān)持。 4. 易相處。很多團(tuán)隊(duì)強(qiáng)調(diào)這一點(diǎn),一個(gè)nice的人,一般都很容易相處,團(tuán)隊(duì)成員之間的關(guān)系也會(huì)比較和諧。一般情商比較高的同學(xué),在這方面都不會(huì)有太大的問(wèn)題。反倒是一些智商高的人,容易讓人有點(diǎn)擔(dān)憂。易相處絕對(duì)不是唯一的標(biāo)準(zhǔn),不易相處的同學(xué)會(huì)給管理上帶來(lái)一定的難度,多數(shù)管理者都會(huì)希望自己的團(tuán)隊(duì)成員不是那么的刺頭。但在面試的過(guò)程中對(duì)一個(gè)人做出這樣的判斷還是非常困難的。通用言談舉止,或許可以做出一定的判斷,但人一是會(huì)偽裝的,或者說(shuō)是掩飾,特別是一些知道自己缺點(diǎn)的人,會(huì)嘗試掩蓋自己的不足。 面試技巧 所有的技巧基本上都沒(méi)有什么用處,基本上都是狗屎,再好的技巧都是為了掩飾。所以切記在面試過(guò)程中使用什么“技巧”。 最后 說(shuō)了這么多,多數(shù)都是對(duì)候選人的要求,其實(shí)對(duì)于面試官也一樣,你配做面試官嗎?你能真實(shí)考察出候選人的能力嗎?你判斷的依據(jù)又是什么。千里馬難尋的背后往往是因?yàn)椴畼?lè)太少。寫這段話的時(shí)候,我也打了幾個(gè)激靈,!@#$%一身冷汗呀!面試的過(guò)程就是選擇的過(guò)程,不僅對(duì)于面試官,對(duì)于應(yīng)聘者也是這樣,可以通過(guò)面試了解崗位的情況,以便做出適合自己的決定。坦誠(chéng),別裝,即便你騙過(guò)了面試官,在日后的工作中你也騙不了你自己,這對(duì)誰(shuí)都沒(méi)有好處。公司找合適的人,個(gè)人選擇適合自己的公司,Double Win。 最后,關(guān)于招聘信息,不少互聯(lián)網(wǎng)公司都在微博上發(fā)布崗位信息,可以重點(diǎn)關(guān)注一下。但,別天天沒(méi)事就掛在微博上,微博上扯淡的人比較多,他們都是優(yōu)秀的time killer,專門扼殺你寶貴的時(shí)間還讓你覺(jué)得自己長(zhǎng)了見(jiàn)識(shí)。 |
|
來(lái)自: 長(zhǎng)慶wcqjs > 《職場(chǎng)》