純乾貨!程式設計師面試的技巧

熊繹發表於2016-04-19

其實有很多文章說面試相關的問題,有國內也有國外的,但是我相信不少人,特別是新人看完後還是覺得比較虛比較泛,似乎好像懂了,但是一遇到面試還是有些手無足措或者重複犯一些錯誤。本篇文章正是結合實際經驗,為廣大程式設計師同志們寫下滿滿的乾貨,讓大家把握面試的關鍵點,找到面試的竅門,順順利利找到心儀的公司。

我認為面試是很奇妙的一件事情,在短短的一段時間內,要讓一個完全陌生的人認可你的專業能力,認可你的人品,認可你的職業習慣等等。而同樣,被面試者需要判斷這是否是一家靠譜的公司,是不是有錢,是不是適合自己工作,是不是和自己發展方向一致等等。工作就像是娶媳婦(找老公),不是說隨隨便便說換就換,而是你每天都要面對的事情,所以找個好的企業,找一份好的工作,對於一個靠自己養活自己的人來說真實太重要了,那麼找好企業,找好工作的第一步就是面試。下面從2個方面來說說面試的技巧。

第一個方面,自身的綜合素質。

1.基本儀容和禮儀

其實不是針對面試,基本儀容和禮儀在日常生活也是非常重要的,是一個人是否有教養,是否有素質的基本要求。

穿著:如無特別需要,不要著正裝,休閒裝即可。但是不要光腳丫子大拖鞋,背心吊帶,男士不要穿露腳趾涼鞋。乾淨整潔即可,表示對本次面試的重視和對面試官的尊重。

儀容:女士如果想化妝的話,淡妝即可,素顏也可以。男士頭髮理一下,鬍子剃掉。還是那句話,乾淨整潔,萬萬不可口腔有異味,或者身上有體味(特別是腳丫子臭味,絕對不行!)

禮儀:多說“請”,“您”,“謝謝”,記得進門後關門,前臺給你倒的水走的時候記得拿出去扔掉。坐下來面對面試官要有坐像,不要跟在家裡一樣太隨便,說話口齒清楚,慢一點說,不要跟打機關槍一樣。切記,不可做作,細節處把握尺度就行。如果遇到和麵試官有分歧的時候,立即閉嘴並閉嘴,不要爭論,不要試圖說服面試官,更不可恥笑或者蔑視面試官,哪怕你確實不知道比面試官高到哪裡去了。記住,這是禮貌,跟你技術有多牛逼無關。

謙虛:任何時候,把自己放在一個相對低的姿態,你是來面試,不是來教育面試官的,抱著一種接受檢閱和學習的態度面對面試,千萬千萬不要覺得自己主角光環加身,天下之大老子第一。相信我,這個世界牛人大把的,別人不說穿是因為給雙方留面子,你可別認為是你真牛逼。謙虛,起碼不會讓你有成為一個跳樑小醜的機會。

2.專業基礎知識

什麼重要的話說三遍已經爛大街了,我就不說了。對於程式猿來說,專業基礎知識絕對是重中之重,是面試成功的最基礎要素。我說的專業基礎知識,不是說你做了多少個專案,寫了多少行程式碼,而是軟體開發的基礎知識。

我在面試的時候,有時候會遇到一些候選人,乍一看簡歷也有好幾年工作經驗,專案也寫的滿滿的,但是卻連“值型別引用型別本質區別”,“建構函式有哪些特點,何時被呼叫”,“類和介面區別是什麼”這樣的問題也回答不了,注意,是回答不了,也就是不知道,不是知道意思但是組織不了語言。這類候選人通常在連續回答不上幾個問題後,開口為自己辯解:“我動手比較強,寫程式碼都沒問題,但是書上的概念我真的不太清楚”。能說出這個話,就說明此人根本就明白作為一個技術工作者最基本的專業素質是什麼。(我在這裡就不展開談基礎知識在開發中的作用以及對自身成長的作用,以後會專門撰文來討論)所以千萬不要覺得自己工作幾年,有些程式碼經驗就已經可以挑戰更加高薪的工作。

在面試前,一定要先審視一下自身的基礎知識掌握程度,如果有必要,自己買書回來或者網上找一些資料,利用空餘時間系統的學習一遍,比如你所使用的語言本身,比如你擅長的框架底層實現,比如編譯原理,比如多執行緒的知識,比如Http相關的知識等等。千萬不要沒有一點點基礎知識儲備或者基礎知識儲備不豐富就跑去面試,失敗的機率非常大,如果眼睜睜的看著自己心儀的工作機會擦肩而過,我想是誰都會難過的吧。

3.溝通能力

面試的過程本質上就是一次溝通的過程,候選人在短短的時間內要儘量的向對方展現自己的長處,隱藏自己的短處,儘量讓對方問題得到圓滿答覆並且留下較好印象。有些程式猿性格內向,在陌生人面前比較靦腆,話語不多。當然,這不能說是做錯了,只能說是一些性格上的短處而已(如果很嚴重,那就有自卑的可能,需要重視並且糾正)。在面試時,候選人一定要精神煥發,昂首挺胸,眼神堅定,切記切記眼神不要飄忽不定,切記切記不要甕聲甕氣。有人會問我,“那我回答不上面試官的問題,或者一時沒有想起來,心裡沒底了怎麼辦?”,怎麼辦??回答不上也不能被嚇尿了啊,是吧,我們們遇到不會的問題,就老老實實的說“這個我不清楚”,或者“這個我不會”,千萬千萬不要不懂裝懂,顧左右而言他,打算糊弄過去,我告訴大家,搗糨糊是過不去的,面試官的問題肯定是他非常清楚答案的,你忽悠面試官就是在忽悠你自己,有意思嗎?當然,也不要胡亂回答,否則只會成為面試官和他的同事茶餘飯後的笑話。

在面試時,儘量雙眼直視面試官(但不要瞪著人家。。。),背挺直,手機開飛航模式,說話口齒清楚,利落乾脆,回答得上就儘量說,回答不上直接說不知道,不要羅裡吧嗦,特別是談到薪酬,對方問你期望時,最好在現有基礎上增加10%-20%,不要漫天要價,也不要不好意思,放心大膽的說出你的期望,如果對方覺得略高,會再跟你商量。務必一開口就給人真誠,幹練,乾脆,專業的印象。

4.過往專案經驗

很多面試者不大重視自己的過往專案經驗,這是我不能理解的地方。我每個做過的專案,雖然我在其中可能只是做一個模組甚至一個功能,但是我都會想辦法搞清楚整個專案的業務流程,研發背景,內部模組功能,和外部如何實現整合,底層資料庫的設計,整體系統架構設計等等。我在面試候選人的時候,通常都會問最近一個專案相關的東西,有很多候選人都會表示是ta自己一個人設計開發了這個專案,但是連有哪些功能模組,系統結構(注意,不是架構)都回答不出來。有些面試者,在面試一些中高階的程式設計師時,很喜歡從過往經驗入手,你再一遍介紹的時候他可能隨時提問。因為這樣有2個好處,第一是預防一問一答的形式,候選人事先背了很多問題的答案,第二是從候選人過往專案經驗入手,除了可以看出候選人是否虛假構建了專案經驗,還可以判斷該候選人對開發細節的把握以及對一些技術點的反應能力和掌握情況,畢竟“突然襲擊”比“瞄準射擊”要更加考驗候選人。

所以,在面試前,應該好好把自己以前的專案經驗都捋一捋,特別是上一個專案,從業務流程到產品設計到系統開發,特別是專案內一些你做過的細節地方,你準備在面試時拿出來說的,必須以此為點,相關的東西都查查資料看一看。再一個就是專案裡面的閃光點,什麼叫閃光點,就是高大上的東西,需要自己多瞭解瞭解,在面試的時候拿出來說也可以加分。比如我以前做過一個專案,是一個類似網頁爬蟲的東西,把爬下來的東西根據資料庫裡面的地址上傳到設定的路徑,再刪除這個檔案。當時我還是比較小白的階段,懵懵懂懂的聽人說多執行緒好像效率比較高,於是就用到了new Thread的多執行緒方式,確實解決了一些效率上的問題。後來換工作時,我又把這個專案拿出來看了一遍,並且著重看了看多執行緒相關的東西,知道了還有非同步程式設計(當時好像C#還沒有Task),於是就自己學習了一番,然後動手做做實驗什麼的,把多執行緒這一塊理論聯絡實際又鞏固了一遍。果然,後來面試的時候談到這個上面的時候,面試官對這一塊很有興趣,越問越深,我也知無不言,為自己增分不少。

5.不要作弊

有些企業在面試程式設計師的時候,喜歡一開始扔一張試卷讓候選人先做,然後再去面試。暫且先不談做卷子考察方式的好壞,在做試卷的時候,萬萬不要用移動裝置上網查詢答案。本身作弊的行為就讓人不齒,如果面試官在暗處進行觀察,發現你作弊,那就太尷尬了。會就是會,不會就是不會,即便你用手機查答案把試卷寫的滿滿的,在接下來面試的時候,面試官再就試卷上的問題展開一問你,你還是不會。所以不管有沒有人監督,在面試的做試卷環節,千萬不要作弊。

6.熱門技術點的掌握

其實這是個增分專案,如果上面幾點都已經通過面試的考核,那麼這一點就會成為你絕對的亮點。首先要先自己瞭解一下當前熱門的技術,然後通過分析自己申請的職位,去看看可能涉及到哪些熱門的技術,然後再去專門的找資料進行學習和動手實驗。比如你是搞網際網路的,那麼最好學習一下負載均衡相關的技術,學習分散式資料庫的技術,學習快取技術,學習頁面靜態化的技術;如果你是搞資料分析的,那麼最好學習一下Hadoop,學習一下微軟的Cube,學習一下惠普的Vertical;如果你是搞iOS的,那麼可以看看Swift,可以看看Xamarin,可以看看WebSocket等等,當然,我只是舉幾個例子,不一定非要這樣對應,你如果是搞Java的,也可以去看看Python如果你是搞.net的,也可以去看看Ruby on rails等等。所謂技多不壓身,就是這個道理。

以上 6 點是自身素質的要求,如果在這6點上面能讓面試官滿意,基本上面試就沒有太大的問題了。接下來講一下如何選一個好的公司或者企業。

1.面試官是否專業

這裡的面試官不僅僅是指技術面試官,也包括HR或者大老闆。如果面試官問你一些奇葩問題(例如問你開什麼車,房子多大,伴侶薪水多少等等),或者有比較明顯的不耐煩,歧視,傲慢等表現,就基本可以斷定這人是個奇葩,這家企業你也要慎重考慮,因為這個奇葩的人很可能就是你的上司(或者是HR)。好的企業面試官應該表現出來的是專業水準,起碼中規中矩問一些常規的該問的問題。

2.儘量找獵頭推薦或者同行推薦

道理其實很簡單,一個企業如果花錢請獵頭尋求人才,說明了企業對於這個職位的重視程度,也說明了企業是有經濟能力支付相對高昂一些的招聘費用。這樣就無形中對企業進行了一輪篩選。

3.工作環境

不求工作環境高大上,起碼要整潔乾淨。從對工作環境的狀態,可以看出企業管理者的一些習慣,如果工作環境陰暗潮溼,破破爛爛的,員工也是咋咋呼呼大喊大叫,說明管理者要麼是沒有足夠的經濟條件進行整改,要麼是自身習慣不好,不在乎環境。建議在面試時,仔細觀察一下工作環境,如果是明亮寬敞,乾淨整潔,大家都靜悄悄的做自己的事情的,從工作環境上說是個不錯的企業。

4.加班與薪酬福利待遇

前文說了,談到薪酬不要靦腆,在現有基礎上加10%-20%都是正常範圍,只要不亂要價就行了,我這裡說的薪酬是指純工資,在面試時,還要考慮企業能提供的年終獎或者其他福利。對於加班的話,一般來說做IT的加班是很正常,但是要問清楚加班怎麼算,是加班費還是調休。以下幾種情況,請慎重考慮:

  • a.無償加班
  • b.強制加班到x點
  • c.單休
  • d.無年終獎
  • e.除了工資以外無任何福利
  • f.Offer或者合同不量化寫清楚工資數字,而是寫“和業績掛鉤”,“根據業績”等

5.在面試之前上某準網(以前叫某智網)查一下該公司評價。

當然也可以先度娘一下,如果是騙子公司,就直接可以查出來,但是有些公司內部其實很爛,但是並不是騙子公司,所以這時候就需要去某準網上搜一下評價。但是也不是每個公司都有評價,有很多小公司,在某準網上也沒有。但是抱著沒有負面評價就是好評的思路,也說的過去。如果一家企業明顯有很多負面評價,而你剛好要去這家企業面試,我建議你就得好好考慮考慮了。

6.上門面試時,去衛生間看一下

沒錯,就是去衛生間。可以提前點到,然後問一下前臺衛生間,去衛生間洗個手(或者面試完成後也行),特別是看看廁紙的質量。當然,讓你去看看衛生間的環境和廁紙質量,不是在衡量以後你在這裡方便的是否舒服,而是通過衛生間的狀況,可以看出企業管理者對於治理企業的態度。如果一家企業連衛生間的要求都很高,裝修比較好,衛生條件也不錯,甚至連廁紙質量都很好,那麼在其他方面,對待員工應該差不了哪裡。說來你可能不信,我見過的企業中,幾乎都滿足這一條。不好的企業衛生間一定是比較破爛,設施破損懷舊了也不會及時修理,廁紙用的最廉價的。而好的企業衛生間裝修精美,設施乾淨,廁紙也是較厚較柔軟的。其實大家可以仔細留意一下,好的商場,好的學校,衛生間相對都比較高檔一些。

上面 6 點就是對企業的一些考察,通過這些考察,可以大致看出是否是一家相對較好的企業。當然可能還有其他的一些方法,在這裡就不再多說,總之,希望大家在選擇企業的時候一定要慎重些,學會思考,學會甄別。

後話

其實面試還是得靠自己的實力,所以技巧再多都是輔助,只有自己的技術水準達到一定的程度,才能拿下心儀的職位。

寫這篇文章只能說幫大家做做參考,提供一些幫助,最重要的,還是要再日常工作和生活中多多學習多多思考,把理論和實際應用真正的轉化成自己的經驗。希望各位程式猿們順順利利的通過面試,找到自己滿意的工作!

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

純乾貨!程式設計師面試的技巧 純乾貨!程式設計師面試的技巧

相關文章