如何進行一場高質量的遊戲技術面試(原則篇)

最近項目組在大量招人,我作爲項目組的技術主管參與了各種技術職位的招聘,在此將一些心得總結一下。

打算寫成上下兩篇。這裏是上篇,只談招聘原則。下篇則是針對不同的工種,列出具體的考覈要點,形成大綱。

首先是要明確招聘的崗位需求。如果是招聘資深的工程師,更多是看項目經驗和性能優化相關;如果是招初級的,更多是看基礎知識的掌握,側重算法和數據結構等。切不可一味地追求問所謂高端問題,那樣就真的成了“面試造火箭,工作擰螺絲”。

其次是要善於發現面試者的優點。技術是多維度的,在一方面有短板,可能在另一方面卻是專家,需要綜合評價。有的面試官不知從哪裏來的優越感,一副居高臨下的態度,以問倒對方爲樂,這樣是不可取的。正確的心態應該是兩人合作探討問題,就如同工作中的同事。如果面試者思考一個難題卡殼了,面試官應該給予提示,引導思路;反過來,面試者也可以順着面試官的話題展開,主動展現自己的優點。在英文中interview不僅有面試的意思,也有面談、採訪之意,所以一個好的面試官要能讓面試者打開話匣子,全面展現自己;面試者也不要唯唯諾諾,必要時刻也可以主動出擊。

具體到操作方法上,問題的選取需要有區分度,能夠真正試探出一個人在某個技術領域的深淺。一個常用的套路是連環問,先易後難,直到面試者答不出來爲止。如要考察Java容器類的掌握,可以先詢問面試者對哪些容器類熟悉,其中線程安全的有哪些;如果面試者提到HashMap、ConcurrentHashMap這些,那麼再問這兩者性能上有何差別,可否談談它們的實現細節,這過程中又可以牽涉到分段鎖、hash算法、hashCode方法等一堆知識;最後如果讓你實現一個HashMap又該如何做,能否手擼示例代碼。如果面試者對一個領域不熟悉,也可以大方承認,然後說“但是,我對相關的xxx很熟悉”,把話題往自己熟悉的地方引。

另外,面試有幾個常見問題需要關注。

一是面試者的離職原因。是因爲一些客觀原因(公司倒閉、裁員),還是因爲追求高薪,或是想換個更重視技術的環境。有的面試者跳槽過於頻繁,也會引發對於穩定性的擔憂。

二是面試者的學習動力。做技術是一個活到老學到老的事情。如果面試者一味依靠業務驅動,沒有主動學習的意識,甚至對於工作中遇到的問題也抱着一知半解的態度,那自身的技術成長也會堪憂。面試時可以詢問對於新技術的瞭解,如做Java的可以問下Java 8到12的差異,做Unity的可以問下2018、2019有哪些新功能、新特性。

三是面試者的合作和溝通能力。這裏其實有兩個點,一是是否願意溝通,二是溝通能力怎麼樣。有的人可能技術能力不錯,但是遇到問題就一個人悶頭想,卡殼了也不給出反饋,這在實際工作中也會影響開發進度。我在面試的時候喜歡出一些工作中實際的業務問題,期望和麪試者合作解決。如果面試者能夠清楚理解我的意思,並在我的引導下完成問題的解決,就代表他的溝通能力和技術能力都還不錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章