每年的這個時候,又是各大學準畢業生開始搵工的季節。身作為一個前線中層,面試實在是一份「苦差」,因為見的人多,請得落手的人少,難聽點說大部份面試都是浪費時間。最慘是面試是額外工作,在不影響手上企畫進度的前提下,要擠時間出來應酬小朋友。雖說口頭上說不喜歡面試,但請人可是公司發展的重要一環,任憑你如何天材如何勤力,也不可能一個人完成所有事,總要建立一隊可靠的團隊。挑選合適隊友的這個工作,絕不能假手於人,若果你不親自面試把關,HR求其空降個癈人給你,到時上面數人頭當你夠人用,實際能不能用則有苦自已知。要知道在一間凡事講制度的大公司,除非整間公司不景氣要大裁員,要把癈人員工送走並不容易,所以最初請對人十分重要。
以前考會考一定要讀marking-scheme,新仔畢業出來面試見工,一定要理解顧主想請什麼員工,才能夠在眾多面試者中突圍而出。請新人與請有經驗的高級職位很不同,電腦工這一行的行頭說大不大,說細不細,總會很神奇地搭上搭認識曾共事的人,做唔做到野在行內有口碑可尋,見工主要是看與團隊夾不夾得來。請新人則好像發掘一塊美玉,雖然每個畢業生看起來都是一塊石頭,但有沒有潛能打磨成器,在面試見工中還是有迹可尋。說到底電腦工請人,並不是要購買他的勞力時間,而是需要他腦袋裏的知識,看看他有沒有能力解決難題。
見工面試簡單可以分為三部份,最先是從眾多的履歷挑選出合適的應徵者,然後通過簡短一小時的電話面試,最後請到公司作一整天的密集式轟炸面試。以前經濟好景公司水浸時,會出機票包食宿飛應徵者來面試,不過現在要Google,Facebook這種大把錢的公司才有的待遇。揀履歷第一關通常有HR代勞,最起碼把九唔搭八的應徵者箍走,然後看看有多少時間可以見多少人,按履歷優劣排見工的先後次序。我挑選履歷的方針基本上不太注重學業成績,依我經驗只要成績不太差,工作能力其實分別不大,反而高分低能倒見過不少。當然有時也會有高分天材的意外驚喜,所以基本上超高分的一定會見,但這之後高分低分與請不請完全沒有關係,高分的唯一作用不過是幫你拿到面試的入場卷。看履歷除了看分數看修讀過什麼課外,最重要是看課餘活動,電腦人是有嗅到同類味道的直覺。上莊搞乜會物會的領袖活動,雖不會減分但亦不會加分,最加分是參加技術型的學會,如機械人比賽,太陽車比賽等等,就算只係自已寫下Apps,架建網站,玩下開源軟件等都會加分。最重要是對電腦和科技有與趣,有能力並喜歡學習新事物,可以丟個難問給他自已攪掂搵答案。
履歷可以寫到天下無敵,電話面試的最重要功用,便是找出履歷背後的真相,杜絕混吉的騙徒。轟炸式面試對公司的成本非高,要十幾個工程司放下手頭上的工作,每個人流輪接客陪他一個鐘,加起來的時間成本比飛他過來的機票食宿還貴。電話面試通常不會問太刁鑽的問題,因為答那些問題最好面對面用白板答。電話面試基本上我會順著履歷來發問,讓他自己介紹推銷自己,而這過一關的密訣,就是不要被捉到講大話。在履歷加入一些水份,好能通過HR的關鍵字filter,這點我能同情地理解,但吹水唔抹嘴是電腦人最憎恨的大忌。我試過有應徵者履歷寫他懂linux,我很簡單地問他一句,他用什麼distribution,便完全露出馬腳了。不懂的就直接說不懂好了,誠實地說那些關鍵字只略懂皮毛也不緊要,只要其中一兩樣關鍵字是真材實料,可以滔滔不絕地說你做過什麼project,寫了什麼code,遇到什麼難題,有什麼解決方法,學到什麼體會,這就已經是十分好的賣點了。課外活動固然重要,課本的基礎知識也不能缺少。我會看看應徵者讀過什麼科,隨機地問他課本應該學過的問題。原本只是隨口問問,不問尤自可,有時答案可以令人很震驚,讀EE的可以不懂PN-juction,讀CS的可以不懂pointer,讀通訊的可以連TCP/IP係兩個唔同layer都唔識。我不禁懷疑他們到底有冇返過學,考試點解可以合格,而最神奇是這個情況,同樣在高分與低分的應徵者上出現,再一次證明分數與學識沒有必然關係。
第一次一整天的密整轟炸面試很嚇人,不過見工見多幾次便會覺得不外如是,問來問去都是那些問題,只會越答越容易越輕鬆,反而這是看清楚這個公司適不適合你的最好機會。HR會book一間會議會作面試用,工程師們便每個小時一組來車輪戰式面試。若果電話面試沒有傾談過,基本上前半小時與電話面試大同小異,照著履歷發問去認識應徵者。如果在電話中已談過話,便可以直接進入戲肉,測試他解決難題的能力。我公司比較傳統,不接受Google天馬行空IQ題那一套,多著重問關於技術性的題目。我們有一組常用的題目庫,每個題目也有數種不同的變化,進行面試的工程師都會電郵大家,確保不會重覆問同一條問題。問題本身可以很簡單,例如要應徵者設計一個電路系統,給他一些程式要他除錯,追加一兩個功能等。因為時間所限,問題不會很深,最重要是看應徵者解決問題的思路。很多應徵者最常犯的錯誤,是聽問題聽一半唔聽一半,聽唔明設計要求又問清楚,一頭裁進去寫呀寫走進死胡同,我們在旁邊則一邊忍笑一邊忍著不給提示,看看他要多久才發現自已走了冤枉路。應付這類面試最重要是記著這不是考公開試,不是給你一張試卷然後你做完交卷,如果面試是這樣的話HR也能勝任,不用浪費前線工程師的寶貴時間。答這類難題首先要弄清楚設計的要求是什麼,問題中有什麼不清楚的地方,不妨提出你的假設向發問者求證,明白了問題空間(problem space)的限制,答案很多時自自然然呼之欲出。問對了問題,是成功找到答案的一半。
問完設計難題後,通常都差不多夠鐘,留下點時間給應徵者發問的機會。這時候便是應徵者認識公司的好機會,不要問一些自已可以上Google找到答案的問題,那絕對浪費時間兼會扣分。視乎進來面試工程師的職位高低,從問一定無錯關於企業文化的開放式問題,到來面試部門內的員工架構,到公司技術優勢和競爭力前景的商業問題。見工人揀你,同時也是你揀人,例如你聽到公司的競爭優勢是以低成本搶市場,就要小心考慮來不來這裏上班了,強調低成本的很有可能是血汗工廠。如果應徵者的面試表現滿意,我通常會落力幫公司賣廣告,希望可以招攬這個人材。如果不打算錄用,禮貌上也會給他幾句行貨答案。面試完畢後問那幾個問題,從面試者回答的態度,大約可以推斷這份工有沒有機會。每組人完成面試後,通常不會立即寫報告,以免讓下組人有先入為主的偏見,影響面試的客觀性。只有一種情況例外,便是應徵者實在太癈,在浪費工程師的寶貴時間,見完可以直接喊停叫HR送客。如果能夠整天一路面試,應付完問技術問題的工程師,去到最後部門主管的面試,問一些軟技巧應適性的問題,順便帶應徵者參觀一下公司的設施,便有機會進入排位程序收offer。一整天都在面試人會肚餓,公司理所當然會包午餐,有份面試的工程師會帶應徵者上飯堂,圍著同坐一桌談一些輕鬆的話題。不要少看這餐飯的功用,因為反歧視法例的保障,一些比較私人的問題不能在正式面試時發問,吃飯時談天說地時應徵者自已說出來則沒有問題。這餐飯主要是用來看看應徵者與團隊能不能相處,說說個人的興趣,平時喜歡玩什麼,有什麼特別的經歷,例如去過第三世界做義工之類,基本上大家覺得人畜無害便OK,不過就算是悶蛋一名也不會扣分,反正只是一起工作,又不是要與他過人世。
最後的面試通常是HR負責,老實說我也不清楚他們問什麼,大慨看這期流行那個aptitude test,基本上HR不參與請不請的決定,所以HR面試最輕鬆。HR面試通常是問人工福利待遇等問題的好時間,這些問題問工程師他們也不知道答案。新仔入職一般都有公價,上glassdoor可以查看,大體上公司越賺錢出手越闊綽,除非是非請不可的天材,其實新仔沒有多少講價的籌碼。當見完這一輪所有應徵者後,老細便會叫有份面試的人入去開會。首先箍走表現差的人,只要有兩個人和議,便會叮走這個應徵者,寧可請不夠人,也不要請錯人。接下來便是好像買馬般排位置,每個人都說出自已心水選擇的次序,通常排名不會相差很遠。排好位置之後,看看今次要請多少人,劃一條線然後叫HR出offer,如果有人reject offer,有時候會按排名依次補上,不過更多時間索性把空缺撥入下一輪面試的名額中。
最後祝各位的同學,見工面試大吉,千祈唔好混吉。