軟件工程師和程序員怎樣去面試
隨著軟件行業(yè)的飛快發(fā)展,讓越來越多的人想從事這個(gè)發(fā)展?jié)摿Υ蟮男袠I(yè)。所以最近,來北大青鳥通州校區(qū)咨詢報(bào)名軟件培訓(xùn)課程的人也日益增多。但是隨著跨入軟件行業(yè)人數(shù)的增多,企業(yè)在招聘人才的時(shí)候,要求也就越來越嚴(yán)格。那么,參加軟件培訓(xùn),畢業(yè)的學(xué)員們,如何去企業(yè)應(yīng)聘軟件程序員或者軟件工程師呢?北大青鳥通州校區(qū)的老師為大家推薦一篇文章,希望對各位有所幫助。
以下是來自一位從事IT行業(yè)多年HR的總結(jié):我個(gè)人覺得一個(gè)好的面試,面試官是很重要的,所以,本文想從“面試官”的角度來闡述一下。于是,有了下面這樣一篇的文章,希望本文對你的職場經(jīng)歷有用,特別是那些正在招聘和面試程序員的朋友,我覺得這篇文章會對大家有很多啟示。
對于招聘方來說,在招聘程序員的時(shí)候,我估計(jì)面試應(yīng)聘者時(shí),最主要想知道的是下面三件事:
1. 這個(gè)程序員的是否夠聰明?
2. 這個(gè)程序員能否把事情搞定?
3. 這個(gè)程序員能和我的團(tuán)隊(duì)在一起工作嗎?
我相信,這是所有團(tuán)隊(duì)經(jīng)理招人要考慮的三個(gè)問題,所有的問題也基本上圍繞著這三個(gè)問題。有些時(shí)候,你也許覺得程序員的技術(shù)技能可以同時(shí)解決這三個(gè)問題,一個(gè)技術(shù)能力優(yōu)秀的人必然是一個(gè)聰明的,可以搞定事情的人,當(dāng)然也就能和團(tuán)隊(duì)一起工作了。是的,感覺看起來是這個(gè)樣子,但其實(shí)并不是這樣的。有些人的確很聰明,但卻不能處理好工作上的事情,這樣人應(yīng)該是你的朋友,你的顧問,但不應(yīng)該是你的雇員。有的人為人很不錯(cuò),和團(tuán)隊(duì)所有人都合得來,但并不是很聰明,但工作很刻苦很努力,這樣的人可以成為你的下屬,比如某個(gè)下屬骨干的助手,或是整個(gè)團(tuán)隊(duì)的助手。如果某個(gè)人不能和團(tuán)隊(duì)一起工作,無論其有多聰明,解決問題的能力有多強(qiáng),你都不應(yīng)該和他在一起工作。人個(gè)認(rèn)為,團(tuán)隊(duì)的和諧是一切事情的前提。
那么,我又是怎樣去面試的呢?
一、確認(rèn)簡歷。首先,閱讀一下別人的簡歷是需要的,從簡歷上,工作經(jīng)歷,項(xiàng)目經(jīng)歷,技術(shù)技能這三個(gè)事情是你需要了解的。一般來說,你可以先通過電話確定一下他的工作經(jīng)歷,項(xiàng)目經(jīng)歷和技術(shù)技能,然后,如果他和你需要的人條件相符的話,可以叫到公司做面對面的面試。千萬不要把別人叫來,你又說你的經(jīng)歷和我們的工作有差距之類的話。(我有過一次面試經(jīng)歷,公司我不說了,反正是那個(gè)號稱需要有良好溝通的公司,面試了我9次左右,從一般的程序員,PM,經(jīng)理,到總經(jīng)理,而最后一次直接告訴我,我以前的經(jīng)歷和他們的要求差距很大。我不禁要問了,前面若干次的面試他們都在干什么呢?)
二、面試開場。其次,把人邀請來公司面試,應(yīng)聘者到了公司來面試,有一點(diǎn)很重要,那就是你一定要讓整個(gè)面試過程變得很隨意,很放松,就像普通的聊天和一般朋友間的交流一樣。這樣應(yīng)聘者才會放松并拿出真實(shí)的樣子來和你談話和聊天,你才能在很短的時(shí)間內(nèi)了解得更多。讓應(yīng)聘者放下心理負(fù)擔(dān),讓其表現(xiàn)得自然一些,這是招聘方的責(zé)任。千萬不要說,別人太緊張發(fā)揮的不好,有時(shí)候,招聘方得想想自己的問題。
面試開場的時(shí)候,千萬不要讓應(yīng)聘者介紹自己,因?yàn)椋瑧?yīng)聘者早就給你發(fā)過簡歷了,而你也給其打過電話了。另外,應(yīng)聘者對這個(gè)面試慣例通常都會準(zhǔn)備得非常不錯(cuò)的,另一方面,這會讓整個(gè)面試過程太正式太嚴(yán)肅了。所以,不妨問問應(yīng)聘者是怎么過來的?最近怎么樣?還可以和應(yīng)聘者談一個(gè)大眾話題,比如喜歡什么體育,音樂,電影,社會熱點(diǎn)什么的,自己也別板著個(gè)臉,說說笑笑,試圖讓大家都放松下來。另外,通過這些閑聊,你可以知道他/她的與人交往能力和一些性格。另外,不要讓桌子放在你和應(yīng)聘者之間,把環(huán)境搞得隨意一些。
三、多讓應(yīng)聘者說說他的經(jīng)歷。接下來,如果你要覺得這個(gè)應(yīng)聘者是否是一個(gè)可以解決問題,是一個(gè)可以把事情搞定的人,不用問他/她會做什么,直接問問其做過什么?干過什么事?對于一個(gè)好的程序員來說,很難想像其沒有相關(guān)的實(shí)踐,就算你是在大學(xué)里,你也應(yīng)該做過什么。如果你有解決問題的能力,那么,很顯然,今天你應(yīng)該解決了很多問題,也搞定了很多事情,聽聽?wèi)?yīng)聘者說一說他的那些事。(不要使用一問一答這種方式,應(yīng)該讓應(yīng)聘者多說,而多聽,多想)
在他講他的項(xiàng)目的時(shí)候,通常來說你要注意下面幾點(diǎn):
溝通表達(dá)能力。應(yīng)聘者能不能把一個(gè)事情講清楚。如果這個(gè)人聰明的話,他就可以用最簡單的語言把一個(gè)復(fù)雜的事情講清楚。而且,這是一個(gè)好的程序員最基本的能力。而且,你可以在應(yīng)聘者一邊描述其經(jīng)歷的時(shí)候,你可以和應(yīng)聘者有一些的良好的來來回回的交談,這樣就可以知道,他的溝通能力和溝通方式,從而了解他的性格。
角色和位置。也許他參與了一個(gè)很大的項(xiàng)目,但只是做了一個(gè)很簡單的模塊。所以,了解其在項(xiàng)目中的擔(dān)任的角色和位置是非常必要的。當(dāng)應(yīng)聘者說到“我們”或者“大家”之類的詞匯時(shí),一定要向下細(xì)化和明確.做出的貢獻(xiàn)和解決了什么的問題。這個(gè)很重要,通過了解這個(gè),你可以知道面試者是否聰明,是否有能力解決問題,是否有好的技術(shù)底子。
演示。如果可能,你可以讓應(yīng)聘者展示一些其寫過的代碼,做過的設(shè)計(jì),或是直接給你看看他寫的程序的演示。(從設(shè)計(jì)上,代碼的風(fēng)格,重用性,維護(hù)性上你可以了解很多很多)
基礎(chǔ)知識。了解該項(xiàng)目中應(yīng)聘者使用的技術(shù)的一些基礎(chǔ)知識,比如,通過整個(gè)過程,你可以問一些網(wǎng)絡(luò),語言,面象對象,系統(tǒng)的一些基礎(chǔ)知識。基礎(chǔ)知識是非常重要的,這直接關(guān)系到了他的能力。
流程和工具。了解應(yīng)聘者所熟悉的項(xiàng)目的流程(銀彈,瀑布,敏捷,……),還有流程中的一些工件(如:需求文檔,設(shè)計(jì)文檔,測試方檔等),以及在開發(fā)過程中使用的工具(內(nèi)存測試,代碼檢查,BUG報(bào)告,版本維護(hù),開發(fā)調(diào)試……)(關(guān)于程序員的基本技能,你可以參考——《程序員需要具備的基本技能》)
有人會說,應(yīng)聘者的經(jīng)歷可以被他自己編出來的,他可以把一些不是他做的事說成是他做的。是的,的確是有這種可能。不過,不要忘了,一個(gè)謊言背后需要用更多的謊言來圓謊的,所以,你不必?fù)?dān)心這個(gè)問題,只要你在應(yīng)聘者的描述過程中逐步求精,細(xì)化問題,你會知道應(yīng)聘者是否是在編故事的。