從面試角度談360和阿里的測試文化
最近一年一直都在招聘測試開發(fā),尤其是年后,在傳統(tǒng)的跳槽高峰推動下,面試的時間基本上占了工作的一半。當然這其中也包含了很多吐槽和抱怨,對HR的抱怨,對候選人的抱怨,對各種奇葩的吐槽。通過朋友和獵頭的推薦,自己也體驗了一些其他公司的面試,一個公司的面試風格和內(nèi)容,某種程度上代表著這個公司的文化,雖然自己工作的5年里各種行業(yè)公司的面試和被面試都經(jīng)歷過,但是這里只談一下360和阿里的測試文化,因為這兩個公司的測試文化自己相對了解一些,而且它們也具有代表性。
首先需要闡述一下自己的觀點:
1、盡管自己在360干了兩年,面試和被面試很多次,也承認這樣的測試文化有獨到的地方,但是比較以前的經(jīng)歷和其他公司,我并不推薦360的測試風格;當然這里并不談論這個公司,只談它的測試文化;
2、自己去阿里,還是繼續(xù)在360待著,都是自己的選擇,并不能說明這兩個公司如何;
3、這里是純粹的討論測試和測試開發(fā)的范疇,并不討論其他的東西,當然包括薪資——這些都是Open的,圈里打聽一下都了解;
我習慣于不定期的去外面參加一些面試,雖然大部分情況自己并不打算換工作,一方面提醒自己跟緊點,別失去活力,一方面參考一下自己在行業(yè)中的水平,還有就是接接地氣,看看別人都是怎么面試的。就我的了解,這兩個公司中,360以前的面試流程并不是很正規(guī),我指的是和阿里相比。這種情況現(xiàn)在已經(jīng)慢慢在好轉(zhuǎn),畢竟360不可能以之前管理幾百人的方法去管理現(xiàn)在的幾千人,但是這種流程也有自己的好處,對于看得上的候選人,可以很快定下來,周期很短,也可以留住一些人才。阿里這類公司招聘的流程相對較長,甚至有些人以為面試沒有結(jié)果,所以接受了其他的offer,反正財大氣粗,并不會在乎一兩個人的去留。360測試的面試流程,相對比較簡單,一般3輪面試就差不多了,有時候會有電話提前交流一下,大部分情況下幾輪面試可以合在一起,候選人一趟就可以了;阿里的話一般來說候選人一趟是不行的,而且有些負責人在北京,一些在杭州,怎么樣也需要候選人跑兩次,算上一開始的電話面試,基本上是5輪。360一般是項目缺人就會有人頭,而且直接招人就要上手干活,從這點上說,社招的時候360很少為儲備人才考慮,從QA人員項目中借調(diào)就能看出來,還有就是360的校招跟社招很難聯(lián)系到一起——校招并不是很完善,基本上是跟著BAT走的。測試在社招上,個人認為很難實現(xiàn)突破——雖然360挖人很下本,但是測試這塊并不像開發(fā)和產(chǎn)品,畢竟不是創(chuàng)收型的職位,即便挖到了,在當下也很難做出東西。所以在測試文化上,360跟阿里比,并沒有傳承和積累,也沒有一個長久的規(guī)劃,這樣的環(huán)境適合個人英雄的凸顯,但是對整體測試團隊的建設(shè)來說,很難良性的發(fā)展,改革起來也很難。
舉一個簡單的例子,我知道一個360校招過來的畢業(yè)生,來公司以后被分到一個小組做手工測試,組長的價值觀就是用例寫的多,執(zhí)行到加班為止的就給高績效,后來這個學生實在忍受不了這樣的組長,覺得組長不光不懂技術(shù),而且還不愿意新的嘗試和提高,他說他們組長說的最多的一句話就是,如果怎么怎么樣,那么只能說360不適合他。這個畢業(yè)生后來去了阿里,工資翻倍,現(xiàn)在干的有聲有色。這個組現(xiàn)在的組員基本上全是女生,乖乖女,讓干什么就干什么的那種,基本上不懂技術(shù),更不要說寫代碼了。360這邊,一般QA招人的要求就是工作年限多,態(tài)度好,肯吃苦,能加班,技術(shù)方面是次要的,QA的面試官也不一定懂技術(shù),因為公司本來就不是技術(shù)主導的。
舉這個例子并不是說360的測試團隊多么差,這樣的團隊靈活性和凝聚力都是很高的,只是作為一個想要崛起和發(fā)展的公司,不能只顧著扛槍打仗,保障也要有力。我和360的開發(fā)聊的時候,他們管開發(fā)和測試開發(fā)叫工程師,管QA叫QA——360的測試團隊里,測試開發(fā)和手工測試是分開的,QA全是手工測試,分布在項目組里。對于開發(fā)這么去對待QA,我表示理解——開發(fā)做了一個新功能讓QA去測試,要求測出了問題幫忙去定位,測試問開發(fā)如何定位,開發(fā)說跟蹤一下堆棧,測試說不懂,開發(fā)講了測試還是不懂,最終的結(jié)果就是開發(fā)讓測試隨便去點點算了。我身邊大多數(shù)QA都是這樣的,我不否認所有人,大多數(shù)QA是這樣的。我不認為QA的能力差或者智商低,但是他們大多數(shù)人的水平,我個人認為確實還不如一些公司的外包人員高。
在360我有過一段很痛苦的經(jīng)歷,也可以說是一個適應的過程。360的測試組中,很少主動提出去自動化做測試,這需要從上往下去推動。Ok,領(lǐng)導給了任務去做自動化,但是QA人員沒有測試用例,測試開發(fā)人員需要追著QA去收集自動化的需求,最終就是沒有需求——既沒有用例,對具體產(chǎn)品特征也說不清楚,這讓測試開發(fā)很難下手。沒辦法,只能自己研究產(chǎn)品,自己寫架構(gòu)寫工具,自己找測試機;到環(huán)境和架構(gòu)起來了,又糾結(jié)起來,自動化用例怎么寫?QA不會代碼,那么就留下一些腳本的接口,python或者lua的,抱歉,QA還是不會,那么改成xml寫自動化用例,但是QA還是覺得不行。最終的QA的反饋是,如果讓他們自己寫自動化用例,他們情愿自己手動點擊到加班。那段時間是我在360最痛苦的時候,當時的辭職信就在郵件里,隨時準備發(fā)給領(lǐng)導。在我工作過的公司里,一般都沒有QA(或者外包),測試組只有測試開發(fā)(SDET),大家在這方面都是有相同的意識去和開發(fā)對接,做自動化的準備和設(shè)計。我并不是說不需要手工測試,手工測試當然需要,但是需要像在敏捷團隊中的手工測試一樣,而不是像客戶驗收的這種測試,我并不覺得這是大部分QA人員工作的方式和水平,這跟開發(fā)一樣,搞內(nèi)存的和搞字符串拼接的,就不是一個水平。在阿里面試的過程中,還有和一些阿里的同事交流的時候,完全沒有這方面的顧慮,大家有相同的意識,交流起來很輕松,這就是測試團隊文化上的差別,大的文化下,即便員工沒有晉升的機會,但是能夠做自己想做的事情,能夠更有效的溝通,能夠發(fā)揮自己的真正價值,也是很開心的;也就是我說的那種,給我一個合理的平臺,競爭輸了我也情愿。這就是我不推薦360測試的原因,我不否定它的優(yōu)點,我只是說說我看到的缺點。
筆試和面試題方面,兩個公司的方式也和他們的文化有直接關(guān)系。360一般更看重候選人能不能上手干活——這并沒有什么貶低的意思,360整體的思路都是這樣,產(chǎn)品這幾年也都是什么都抓一把,每個團隊各行其是,產(chǎn)品經(jīng)理相互之間斗來斗去的,除了過時的安全以外,還沒有一個屬于自己的生態(tài)圈,這樣的環(huán)境下當然不愿意投資去培養(yǎng)或者儲備全能技術(shù)人才,很多新開發(fā)寫的代碼一鍋粥一樣,安卓開發(fā)里不懂虛擬機不懂匯編的大有人在。這和公司的結(jié)果導向分不開的,不管長久的看是否結(jié)果***,但是短期是肯定要***的結(jié)果。這方面確實花了不少錢挖人和做獎勵機制。相比來說,對測試方面的關(guān)心遠遠不夠,畢竟不是產(chǎn)出團隊。測試的筆試和面試上,完全看面試官的人品了,有些QA的面試官自己本身就不懂技術(shù),還要偷學幾招去噴別人。平心而論,哪個候選人能沒有缺陷呢?我不懂那些難為別人的面試官是什么心態(tài),但是我相信一個好的面試官不會用一兩道自己知道答案的題去為難別人,從而達到自己內(nèi)心的平衡。但是總的來說,360這邊的招聘,更看重上手的工作能力和個人價值的體現(xiàn),但是不同組和不同面試官會有所不同,就我個人而言,我希望候選人的綜合能力強一些,主要是學歷能力,夠聰明,溝通良好,如果不幸筆試遇到我出的題或者遇到我面試,也許一個題都答不對,但是我會讓候選人通過。
手工測試的職位我不太了解,但是測試開發(fā)基本上跟開發(fā)是差不多的,很多時候?qū)A(chǔ)知識和廣度的要求,比開發(fā)要高,不過基本上就是數(shù)據(jù)結(jié)構(gòu),算法,環(huán)境配置,網(wǎng)絡技術(shù)等。
阿里的面試,相對來說更成熟一些,更強調(diào)候選人的綜合能力。一般來說會先有一個電話的溝通,大概了解一些候選人整體的技術(shù)情況和經(jīng)驗;接下來的一面會以技術(shù)為主,相關(guān)技術(shù)和開源的技術(shù)一般都會問到,聊之前的項目實現(xiàn),設(shè)計等等,一般都會當場寫一些代碼,也會較深的技術(shù)的討論,這輪通常都是職位的直屬leader面;接下來的一輪一般都是職位所在的項目負責人,純技術(shù)的東西會少一些,更多的是項目上的東西,包括不同問題的解決方案等等,這時候業(yè)務相關(guān)的東西會多一些,有沒有筆試的話,主要看是不是視頻面試;接下來一般還有一輪交叉的綜合面試,大體上跟上一輪差不多,可能內(nèi)容也會覆蓋到前面兩輪,但是不會面試特別精細的東西,有沒有筆試依舊看是不是視頻了。
阿里的這幾輪面試我還算順利,也沒什么準備,就是臨時發(fā)揮。電話面的時候我正好在醫(yī)院幫別人看孩子,孩子太鬧也沒辦法調(diào)整思路,基本上說說以前的項目,聊了一些底層api,簡單聊了一些技術(shù),***問了一些東西的實現(xiàn),用到的函數(shù)忘的差不多了,只好簡單說了一下思路,面試完了就把這事忘了;后來HR來通知面試,那天正好休假回來,就直接過去了,主要聊的就是GUI自動化原理,瀏覽器模型,插件原理等等,簡單的寫了一些多線程同步異步和文件數(shù)據(jù)讀取處理的代碼,聊的挺開心的,也學到了不少;然后沒有休息直接下一輪面試,問了一些業(yè)務的東西,還有一些項目的解決方案,視頻的,所以也沒寫代碼,這兩輪基本上從1點半一直到5點;終面是在半個月之后,基本上也是為了一些GUI的東西,問了一些項目的情況和自己換工作的理由等等。
上面就是我了解的阿里和360測試的文化和面試的一些東西,再深入的東西就不能說了。基本上360的測試文化并不適合測試開發(fā)的長久規(guī)劃和成長,但是機會多一些,屬于“造英雄”的,對于技術(shù)一般但是推動力強的人是個好的選擇,當然會叫的孩子有奶吃,另外360是一個從上到下的管理方式,所以一定要和領(lǐng)導處好關(guān)系,在360過得好不好完全取決于你跟哪個領(lǐng)導;阿里的測試基本上屬于國內(nèi)公司里***的了,個人規(guī)劃和發(fā)展都很好,比較適合于想在測試領(lǐng)域深入發(fā)展的人,另外一些技術(shù)很牛的測試人才,如果不愿意管人或者管項目,阿里也是一個很好的選擇。
***,送出兩條面試的技巧:
一個是面試的時候要適當?shù)谋憩F(xiàn)自己,對于只有一輪的面試(比如挖人),一般該怎么表現(xiàn)就怎么表現(xiàn),發(fā)揮到***就可以;但是多輪面試的時候,一般***輪都是技術(shù),而且都是直屬領(lǐng)導,這時候不能表現(xiàn)的太好,因為有些面試官不希望候選人太牛,但是又不能表現(xiàn)的不好,不然定級會低;后續(xù)的幾輪可以放開了發(fā)揮;當然這只是技巧,并不一定都適用,很多***輪的面試官還是不錯的;
第二個就是揚長避短,自己不會或者不熟悉的東西盡量別寫到簡歷上,或者盡量別提;我的簡歷上基本沒有寫過linux和性能測試,面試官問我對linux是不是熟悉的時候,我一般都直接說不熟悉,只做過半年linux的開發(fā),只會用常用命令跟vim,其他像redis什么的配置都是隨用隨查;問我性能測試的時候,我就說沒做過性能測試,只幫助QA寫過一些并發(fā)和性能測試的工具。
基本上這個話題就能談這么多了,算是吐槽也算是總結(jié)吧。完全個人的感受和看法,對兩個公司沒有針對性。