導航:首頁 > 信息技術 > 如何面試it技術人員

如何面試it技術人員

發布時間:2022-05-16 07:17:37

❶ IT技術人員面試,如何回答最巧妙

一、面試前准備

(絕招關鍵詞:介紹+預演+暗示+清單)

1、自我介紹

准備不同時間版本的1分鍾、3分鍾的自我介紹。反復練習,並脫稿,但不是背誦。因為背的話自我介紹就顯得十分的生硬,一定要用自然的語言將自我介紹說出來。

2、預演

搜索一些你應聘的公司和職位的面經。在宿舍里、家裡,先自己預演下,可能會被問及的各種問題和答案。即使你不能猜中所有問題——當然HR也不會面面俱到、一直不停的提問,最關鍵詞的只有那麼幾個。思考問題的過程會讓你減輕緊張而且在面試時心裡有底。

3、積極自我暗示

在群面的時候,我們可能會因為別人的發言而擾亂了自己的思路。這時候千萬不要亂,適當的做深呼吸調整一下自己,做到沉著冷靜,整理好自己的思路,努力回憶自己所學和所掌握的知識,給自己積極的心理暗示,一句話:相信自己能行!你是最棒的。

4、優點清單

自製一份自己的優點檢查表,這樣你會了解自己比想像中有著更多的優點,充分掌握了自己的優點才能在面試的時候表現的比別人更自信:

(1)人格上的優點:有熱心,有說服力,有勇氣,坦白,誠實,公平,幽默感強,表現自然,有口才,思想開放,有趣,彈性大,負責任,有號召力,活潑,內省,溫和,熱情,整潔。

(2)智能上的優點:善於分析,善於掌握觀念,善於思考,知覺敏銳,聰明,智慧,反應快,語言能力強,有良好的邏輯推理能力。

(3)美感上的優點:對顏色敏感,對設計敏感,有創意,有想像力,能發明,能即興發揮,機智,懂得配置傢具,懂得選衣服,能安排食物和花卉,懂園藝,能彈奏樂器,能繪圖,能唱歌,能演戲,能做手工藝活,能跳舞,愛好廣泛。

(4)情緒上的優點:溫暖,敏感,關心別人,有同情心,能針對別人的需要做出適當的反應,慷慨,慈善,能鼓舞別人的信心,了解別人,照顧別人、體貼,考慮周到,接納別人,支持別人,原諒別人,判斷准確。

(5)體能上的優點:平衡能力強,體力好,有忍耐力,協調性好,動作敏捷,具備競賽的精神,雙手靈活,體形良好,力量大。

二、去面試

(絕招關鍵詞:簡歷+時間+表格)

5、多帶幾份簡歷去面試

面試你的人可能不止1個,預先料到這點,並准備好會顯得你做事正規、細致。沒有比當被要求提供多一份簡歷而你卻沒有,更能表明你缺乏准備的事了。你說呢?

6、不要准時到達——要提早到

如果你遲到,不管你的面試官多麼諒解你在路上碰到的意外情況,要改變負面的第一印象幾乎是不可能的。盡一切能力准時,包括預先給可能發生的意外留下時間。

7、完整而認真地填寫公司要求的表格

盡管你認為它們用處不大、盡管你帶了簡歷來,很多公司都會要求你填一張表。你願意並且有始有終地填完這張表,會傳達出你做事正規、做事善始善終的優點。

三、面試中

(絕招關鍵詞:印象+自我營銷+總結經驗)

8、深刻印象

最初和最後的五分鍾是面試中最關鍵的,在這段時間里決定了你留給人的第一印象和臨別印象以及主考人是否欣賞你。最初的五分鍾內應當主動溝通,離開的時候,要確定你已經被記住了。要讓人產生好感,富於熱情。人們都喜歡聘請容易相處且為公司自豪的人。要正規穩重,也要表現你的精力和興趣。

9、自我營銷

營銷自己十分重要,將你所有的優勢推銷出去,包括你的技術資格,一般能力和性格優點,僱主只在乎兩點:你的資歷憑證、你的個人性格。你能在以往業績的基礎上工作並適應公司文化嗎?談一下你性格中的積極方面並結合例子告訴對方你在具體工作中會怎麼做。

展示你勤奮工作追求團體目標的能力,大多數主考人都希望找一位有創造力、性格良好,能夠融入到團體之中的人。你通過強調自己給對方帶來的好處來說服對方你兩者皆優。

10、總結經驗

不要害怕承認錯誤,僱主希望知道你犯過什麼錯誤以及你有哪些不足。不要害怕承認過去的錯誤,但要堅持主動地強調你的長處,以及你如何將自己的不足變成優勢。謹記每次面試的目的都是獲聘。你必須突出地表現出自己的性格和專業能力以獲得聘請。面試尾聲時,要確保你知道下一步怎麼辦,和僱主什麼時候會做決斷。

❷ IT工程師如何成功通過面試

IT行業有一個怪象,應屆生去找工作,最先找到工作的往往不一定是技術最好的,而是溝通能力最好的,那麼在IT面試中我們有哪些要注意的地方,今天浙江優就業的小U老師就為大家帶來一篇,IT工程師要成功面試該做到哪些。

一、面試前准備

1.簡歷的幾個注意事項

不要給自己挖坑

你要對你自己寫的簡歷負責。因為面試時,面試官通常會拿著你的簡歷,問里邊的各種細節。技術細節、工作經歷、項目情況等。你必須對自己寫下的每個字後面的隱藏話題做充足的准備。舉個例子,簡歷上有這樣一句話:

熟悉運用 Chrome Dev Tools、Firefox 的 Firebug 調試頁面

那面試官可能會問:講講你用 firebug 調試頁面時,都有哪些經驗技巧感覺比較有用?這樣針對一個話題進行展開談話。

2.針對不同的公司對簡歷進行微調

有時候有必要針對面試公司的業務對你的簡歷進行微調。比如對方是個做移動醫療的公司。而你恰好做過類似項目,就可以將該部分的項目介紹的排序提至第一位。並將對移動醫療的經驗加重描寫。以達到和職位更匹配的效果。

3.了解公司的相關情況

面試前應到公司的網站上或別的渠道,提前了解公司的企業背景、業務模式、主營產品等,面試的時候就可以做到有的放矢。

「你對我們公司有了解嗎」「我提前了解了一下,貴公司從事的是??理念是??我覺得和我的理念挺吻合的??」

「你對我們的產品有什麼看法」「我仔細研究了貴公司的產品,發現有如下優點??還發現幾個問題??我覺得可以這么改進??」

這樣的對話,會和面試官迅速拉近距離。面試官也會認為你做足了功課,是一個用心的人。

4.干貨儲備(核心技能)

專業知識准備收集相關面試題並熟練掌握。面試官有時候也會照著網上的題庫問你問題,哈哈。最好能按自己的理解,用自己的語言去闡述問題。

項目經驗項目的研發背景、整體業務流程、開發周期、負責的模塊、技術實現細節、技術亮點等。你自己做過的每個項目都要搞清楚。

了解熱門前沿技術比如你面試的是 iOS 開發崗位,除了 OC 你還能聊聊最新版本的 Swift;比如現在微信小程序開發又火起來了,你也在關注和學習,甚至能解決面試官的一些問題。了解這些熱門的前沿技術絕對會成為你面試時的加分亮點。

四、面試後的復盤

復盤很重要,沒有復盤的行動往往是無效的,因為沒有經過總結和沉澱。大家要養成經常復盤的習慣。面試的復盤我們可以這樣做:

1.復盤自己在面試現場的整體表現

是否表現得沉著自信、充滿活力、輕松自如?

對面試官提問的反應是否恰當、准確、靈活?

2.復盤自己在面試中的所有問題及答案

分別記錄下 HR 面試問題和技術面試問題及回答

關於面試官的提問,你是否還可以做出更好的回答?

3.其他心得感受

最好將以上內容寫成一篇面試總結,存在印象筆記里。比如形成這樣的筆記本,在以後面試時這些經驗就是最好的資料庫

❸ 如何面試一名程序員

如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
1. 需要新員工完成什麼樣的任務?
2. 怎樣的人能完成這樣的任務?
3. 哪些途徑和方法可以發現這樣的人?
只有明確這些根本性的問題,才能正確高效地完成面試。
二、提問的原則
假定你對上一節的三個問題,已經有了清晰的想法,那麼接下來就可以設計如何提問了。
有一些提問的原則,是你應該遵循的:
每一個面試問題都有明確的目的。你不僅自己了解,還能向其他面試官解釋清楚。
多提一些開放性(Open-ended)的問題,而不是那種用Yes/No就可以回答的問題。這樣做使你有機會與面試者展開討論,並且提出後續的問題,盡可能多地了解對方。
不要問宗教、家庭、健康、個人隱私等方面的問題。
不要問太復雜的問題。因為面試者沒有太多思考時間,所以無法周全地回答,你也就無從判斷他的能力了。
三、考察專業能力
為了確認面試者是勝任的,你可以問一些與職位相關的專業方面的問題。(不過通常來說,一次面試不足以看出一個人的專業能力。)
比如,你的招聘職位是系統管理員,你可以問"如何快速地在50台機器上部署Linux?"(提示:正確答案不是刻錄50張安裝光碟。)
另外,你還應該向面試者了解他的過去,因為過去是未來的最好預測依據。不過,提問的重點不要僅僅是他過去的成果,更要關注在當時的環境中,他是如何決策和實施的。
四、考察綜合素質
因為人是會發展的,所以某種程度上,面試者的綜合素質要比他的專業能力更重要。
所以,具體的技術問題(如何調用API、什麼是設計模式、編程語言的語法等等)可以少問一些,更應該關注面試者的事業心、對工作的熱情、進取心、自律能力、毅力等方面。
下面是一些典型問題:
Why did you get into development?
你為什麼開發軟體?
How many technical books did you read in the past year?
去年你讀了幾本技術書籍?
What was your favorite technical book in the past year? What did you learn from it?
去年你最喜歡的技術書籍是哪本?你從中學到了什麼?
What websites do you read regularly, related to development?
平時你經常訪問哪些編程類網站?
Do you maintain any open-source projects?
你有自己的開源項目嗎?
Do you code in your spare-time?
業余時間你編程嗎?
Do you love programming, or do you do it for the money?
對於你來說,編程是一種愛好,還是一種謀生手段?
Have you accomplished anything important in your career yet? Do you want to?
你的職業生涯之中有什麼重要的成就?它是你主導的嗎?
What would make you feel that you have done something important?
什麼事情會讓你很有成就感?
五、考察理性思維
某些情況下,你可能需要了解面試者的分析判斷能力,看他能否全面地思考問題、客觀地評價自己。
那麼,你可以依次提出這樣三個問題:
What's your favorite programming language? Why?
你最喜歡的編程語言是哪種?為什麼?
If you could add one feature to your favorite language, what would it be? Why?
如果允許你為這種語言加一種功能,你會加什麼功能?為什麼?
If you could remove one feature from it, what would it be? Why?
如果允許你取消一種功能,會是什麼功能?為什麼?
這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。
你還可以把這些問題,套用在其他東西上面,比如操作系統、文字編輯器等等。

❹ 請問Java等技術崗位的面試流程是怎樣的

IT技術崗位的面試流程其實都大同小異。主要包括以下內容:

面試之前,一般是准備自己的簡歷或者學歷證書(有些公司可能會需要,視情況而定),所以要提前准備好。
到了公司後,一般的公司都會先拿一份筆試題給你做,當然也有些公司也不會有筆試題。總之自己要提前准備好如何去面對,畢竟這個是經常會發生的事情,很多公司基本都會有筆試題的。
然後是人事的面試,這個就需要臨場發揮了,一般畢業生的問法就是,你為什麼想要來我們公司,我們公司有什麼吸引人的地方,還有就是你在學校都有什麼成就,舉例說明一下,當然這些都是很簡單的,但是有過工作經驗的就不一樣了,會問你為什麼從上家公司離職,然後說一下上家公司做的項目是什麼等等。
接下來就是重點的技術面試,這個就是考驗你的時候了,一般這個過程會持續半個小時到一個小時左右,技術面試官會問各種各樣的問題,比如java,會問你在項目中你是怎麼解決你碰到的難題的,你對redis的理解,談談spring的優勢等等,這些都是需要去理解的,因為這些都是對你技術上的要求,所以你自己這些在去面試的時候都要看一下,因為以後工作中也肯定會碰到,對於技術而言,有些不懂的你可以學也可以問,千萬不要憋著不說不吭的,要不然會耽誤項目的進度什麼的。
技術面試完後,如果跟你談了工資什麼的,大概率說明這個offer就穩了。如果說再聯系,就只是後話了,當然談工資還是需要你跟人事去說的,這個的話你自己看自己的面試情況而定,或者視自己的實力情況而定。
以上就是面試的一般流程了,當然有些公司的流程可能會不一樣,所以還是要自己去經歷。

❺ IT人員面試有什麼技巧

1、穩定自己的情緒,沉著而理智
有時面試時,考官會冷不防地提出一個應試者意想不到的問題,目的是想試試應試者的應變能力和處事能力。這時,你需要的是穩定情緒,千萬不可亂了方寸。
2、留足進退的餘地,隨機而應變
面試當中,對那些需要從幾個方面來加以闡述,或者"圈套"式的問題,應試者要注意運用靈活的語言表達技巧,不要一開始就把話講死。否則,很容易將自己置於尷尬境地或陷入"圈套"之中。
3、考慮問題周到 准備充分
在面試中,有時考官提的問題並沒有什麼標准答案,這就要求應試者答題之前要盡可能考慮得周到一些,以免使自己陷於被動。面試在某種程度上就是一種鬥智,你必須圓好自已的說詞,方能滴水不漏。
4、話不能說得太死,要給自己留餘地
面試當中,對那些需要從幾個方面來加以闡述,或者「圈套」式的問題,你要注意運用靈活的語言表達技巧,不要一開始就把話講死。否則,很容易將自己置於尷尬境地或陷入「圈套」之中。

❻ 對於IT這行業,請問面試時大概會提哪些問題會有考試嗎比如應聘前端開發工程師

對於你的這個問題,在it行業,我也面試過不少人,我覺得我還是有資格回答一下。
請你自我介紹一下自己好嗎?
回答提示:一般人回答這個問題過於平常,只說姓名、年齡、愛好、工作經驗,這些在簡歷上都有。其實,企業最希望知道的是求職者能否勝任工作,包括:最強的技能、最深入研究的知識領域、個性中最積極的部分、做過的最成功的事,主要的成就等,這些都可以和學習無關,也可以和學習有關,但要突出積極的個性和做事的能力,說得合情合理企業才會相信。企業很重視一個人的禮貌,求職者要尊重考官,在回答每個問題之後都說一句「謝謝」,企業喜歡有禮貌的求職者。
除了這個問題,其他這些常識性問題你也需要注意:
一、守時,遲到乃面試第一大忌
守時本就是誠信的一部分。另外,作為一個求職者,姿態不要放得太高,畢竟你是想加入別人的公司,遲到會給人一種不重視的感覺,企業不希望面試的成本用在不重視的人身上。
二、穿衣搭配,符合公司形象
我曾經作為HR參加過公司的一次面試,第一個進來的面試者因為衣服扣錯了扣子,我已經給他打上了做事不認真細心和隨意地標簽,後面表現的再好,我都不會有興趣了解。穿著符合公司形象很重要,去互聯網公司就穿互聯網元素的衣服,面試銷售,你得穿正裝,這些最基本的會為你加不少的印象分。
三、言語得當,有禮大方
見到面試官你得主動問好,這是最基本的尊重,也是有禮貌的體現。說話大方自信,語言流暢,能做到言簡意賅思路清晰當然是最好的。切忌打斷別人說話,不要覺得你口若懸河,當面試官打斷你說話,那你也就游戲結束了。
四、行為得體,展現氣質
進門之前先敲門,得到指示再入座,這些簡單的常識卻不是每個面試者都能夠做到。一個人的行為反映他的氣質,一個腰都直不起來的求職者,你說會不會影響公司的形象?站立筆直,雙手自然。入座以椅子的三分之二為宜雙手放於膝蓋,身體微微前傾,不要給人以蹲茶館的感覺。
做到以上幾點,「面」這一關基本就不會有太大問題。當然,表達能力是需要長期的鍛煉而非一朝一夕,這就看你平時的積累了。下面再說「試」的問題。

何為「試」就是看看你是否能勝任公司的工作,包括你對企業以及自身的認知,其次就是對知識技能的掌握程度。希望以下幾點能給你一些幫助。
一、知己知彼,百戰不殆
面試前,對所要去的企業做一個大致的了解,包括企業規模;企業文化;主營業務以及目前狀況。另外,你還需要了解公司對你面試崗位的要求以及特殊需求准備應對方案,證明你確實能夠勝任這個崗位。
二、有自己的職業規劃
企業一般都會關注職業規劃這個問題,綜合考慮穩定性等因素,要有自己的展望同時也要讓公司看到你至少短時間內(兩年)的穩定性。公司培養人才是不容易的,自然不會希望人才的流失。
三、知識技能的系統性復習
俗話說「有豆子,你要能倒出來」,知識技能也是如此,別人問你或讓你實際操作時你做不出來那別人只能認為你不會。面試前做一個系統性復習和知識梳理就尤為重要了。
四、機會是留給有準備的人
這里所說的准備不僅包括面試服裝,簡歷,以及知識技能的准備,小到一支筆一個筆記本你都得自己准備。拋開面試需要不說,有準備的人會給人一種很有條理的感覺。
IT屬於技術崗,也會准備一些技術面試,一般都是由技術總監根據你的簡歷進行提問或者准備相關試卷,曾遇到UI面試,面試官提出訴求由面試者進行設計,建議做好充足的准備

❼ 如何做好IT類的技術面試

盡可能清楚和了解所面試單位的一切,盡量用對方的用詞風格,來為自己量身定做一套面試答案,嘗試對所要被問到的問題和答案進行一次預演。平時的積累還是要多一些,最起碼回答問題(打馬虎眼的時候)有話可說。 既然想在高端領域里去尋求發展,還是真才實學的好一些。另外每個人學習經歷,成長經歷不一樣。在每份工作中加的技能點也不一樣,很難找到和你業務一致的人。

❽ IT面試技巧:面試常見的幾個問題

IT技術崗位面試常見問題包括以下幾類問題及回答技巧:
Q1: 挑一個應聘者覺得做的最好的項目講一下。
最好事先把簡歷上面寫的項目或者課程設計過一篇,拿張紙寫一寫,盡量把以前做這個項目的時候承擔的任務、角色、遇到的問題用最簡練的語言說出來。同時,處理這個問題時不同的企業可以選擇不同的項目來回答。如果你沒有項目經驗,可以把以前自己做過的作品或實驗拿出來講。要思路清晰,然後重點突出對項目的貢獻以及其它方面的能力。
Q2:應聘者在項目中遇到的最有挑戰性的問題是什麼?
要把之前碰到過的有挑戰性的問題以及如何解決的回想一下,首先精簡的描述問題,然後重點在你是如何處理這個問題的。
Q3:從項目中得到的最大收獲是什麼?
這個問題比較好回答,答案也可以很發散,比如:技術水平有了很大的提高;通過解決項目中出現的各種bug,解決問題的能力有了很大的提升;通過幾個人協同完成一個項目,增強了團隊合作精神等等。
Q4:挑一個寫程序中遇到的bug以及如何解決的講一下。
這個問題和Q2有點像,但是限制性小了一點。其實程序中遇到的bug肯定很多很多,但是在沒准備的情況加上面試的緊張下,可能會大腦空白,思路混亂。所以需要事先准備一下。
Q5:項目中用的最多的語言是什麼? 或者最擅長的語言是什麼?
這個問題出現的概率也是相當之高,回答也要謹慎,要根據應聘的職位靈活回答。假如申請的職位要求C/C++,那千萬不能只說C,如果你確實對C++不是很熟悉,那麼可以換一個說法,比如C++也用,但是用的少,然後舉幾個例子證明你的學習能力確實強。總之不要謙虛也不要撒謊。
Q6:如果遇到不同意見,如何處理?
這個問題面試官也非常喜歡問,主要考察你的團隊合作精神,是否有包容心接納不同的意見,以及如何處理與他人的沖突。

❾ 如何招聘IT行業技術人員

1、工作經驗:非常重要 是否有大公司的工作經驗:判斷是否能很好的適應大公司的一些制度及工作方式; 是否穩定:看在一家公司的最長的工作時間,至少有兩年以上的經歷 技術能力:是否有和公司目前用到的技術相匹配的技術水平,是否有實踐經驗。 業務知識:是否有和公司相匹配的業務知識,是否有實踐經驗。(尤其是一些業務比較復雜的公司,這點很重要。) 工作年限:看在這一行業中,用這些技術工作了幾年。 2、人:主要是看這個人是否能很好的融入團隊,如果不能融入團隊的話,技術再好也不要;二是看這個人是否好管理,是否能認真做項目。 3、學習能力: 學習新技術的能力,通過面試者對某些問題的理解,及學習方法來考察。 4、學歷:對於技術人員來說,三年以下工作經驗的人,還是需要看學歷的。因為好的學校出來的人掌握新技術確實是挺快的。三年以上的就可以放寬政策了。 5、簡歷:寫簡歷也挺重要的。 明確列出在幾家公司干過; 明確列出做過哪些項目,充當什麼角色,用到了哪些技術; 明確列出每項技術的使用時間; 明確列出參加過哪些技術的培訓或研究; 問:人力資源部如何對技術崗位人員進行面試?提問哪些問題較為合適? 答: 對技術崗位,尤其是你不了解的崗位,大部分我們會找專業的技術管理者來面試。但是對面試者的綜合素質及發展前景,需要你來判斷。如果是有工作經驗的就很好考核了。 1、請他描述他所從事工作的職責及內容,與你想招聘崗位相比較。 2、請他闡述他以前所從事工作中最自豪的一件事是什麼?原因?用來考察他的價值觀、責任感及敬業程度,並通過他言語的描述來判斷他的發展方向。 3、做技術的人一定要心胸開闊,思域廣闊,因此通過他對待遇、合同等是否斤斤計較來判斷。 一、熟知本崗位的工作職責與任職資格; 二、清楚本崗位三個核心的勝任素質能力; 三、HR必須熟悉本崗位的工作日常的工作內容,對候選人的工作的虛實進行核實,了解原來的工作情況; 四、工作穩定性--看應聘過往的工作跳糟頻繁程度、求職意向等。 技術崗位的技術力量還是以用人單位為准,但HR要了解基本的技術流程與工作內容。還有一些行業內的專用名字,邏輯方法。基本能測試出候選人合不合適本崗位。

❿ IT面試經驗:程序員面試什麼最重要

程序員面試一直是社區樂於討論的熱門話題。我自己從06年實習以來,先後經歷了4家軟體公司,全部是外企,其中有世界500強的通信企業,有從事期權期貨交易的歐洲中等規模的金融公司,也有為大型汽車製造商開發Android智能汽車的新興公司。跨入IT行業以來,我在求職過程中經歷過多次面試,最近兩年也有過多次面試別人的經驗。我感覺現在到了對這個問題發表自己看法的時候,這篇文章是我站在面試官角度對於程序員面試問題的一個階段性反思和經驗總結。
目標
相信和不少朋友一樣,有了幾年工作經驗成為Senior後就開始了面試別人的經歷。我在最初這個階段只是按照自己的想像把」找到基礎好的程序員「,」找到演算法能力優秀的程序員「,」找到有Android開發經驗的程序員「等作為面試的目標。但是,實際的經歷告訴我,尤其是按「基礎好」,「演算法好」這些目標招到的人最終效果並不好。比如,有的面試者基礎知識和演算法掌握情況不錯,進程、線程、內存等概念清晰,基本的Hash,二叉樹,快速排序等數據結構和演算法也比較熟悉,但是進公司後在實際工作中表現得很糟糕。後來,我才發現原來是我的面試目標出了問題,我原先的面試方法更像是大學的演算法或操作系統期末考試,按照這種方法讓許多並不合適的人通過了面試,同時也可能錯過了許多合適的人。
後來,我的反思是,從公司的角度講,面試的根本目的是找到「能夠干好工作」的人,而「高學歷」,「演算法好」,「基礎好」,「有經驗」這些都是表象而不是根本,它們並不能直接和「工作好」劃等號。
方法
目標明確了,但接下來的問題是假設面試者是一個黑盒系統,「工作好」不是直接可觀測變數,你所能直接觀測的變數是基礎、演算法、經驗、學歷、性格、談吐、年齡等等。所以,實際上,你只能從「基礎好」,「演算法好」等可以直接觀測的量去推測「工作好」的概率,這就是一個在「X好「條件下」工作好「的條件概率問題:P(工作好 | X好)。
根據這個模型,面試所應該考察哪些方面就很明顯了,那就是選擇那種最具有區分性的方面來考察。比如,考察面試者的體型特徵沒有太大意義,因為P(工作好|高),P(工作好|矮),P(工作好|胖),P(工作好|瘦)的概率都差不多;所以,體型特徵不具有區分性,這不是面試所應該關注的內容。
面試官應當結合職位的要求明確哪些因素具有比較好的區分性。比如,如果要招一名技術門檻比較高的3D游戲引擎開發工程師,面試者A具有3D游戲引擎開發的經驗,但是在基礎知識和演算法面試方面表現一般;面試者B相反,基礎知識和演算法面試表現很好,但沒有游戲開發經驗,而你只能選擇其一。你選誰呢?其實,這就是兩個條件概率問題P(工作好|經驗好,基礎一般,演算法一般)和P(工作好|沒經驗,基礎好,演算法好)。這個問題就留給面試官來判斷了,就我個人而言,對於技術門檻較高需要技術積累的職位,經驗更加說明問題,因此,我更傾向於面試者A。
下面,我再結合自己的經驗談談對面試中常見方面的看法。
演算法
演算法是Google和MS等大公司面試所重點考察的內容。我個人很喜歡演算法,曾經參加ACM/ICPC拿過北京賽區的13名。但是,就個人經驗來看,我所接觸過的絕大多數開發職位而言,演算法都不適合作為考察面試者優劣的主要因素。對於普通的非演算法性開發職位,考察面試者的演算法就相當於考察他打乒乓球好不好一樣,與目標「工作好」的相關性太低。就我個人的經驗來看,差不多P(工作好|演算法好)=50%,也就是演算法面試沒有太大的區分性。
甚至,還有一種很不好的情況特別多地出現在演算法好的面試者身上,我稱之為「只磨刀,不砍柴」。什麼意思呢?有類人只對什麼A*演算法,非同步編程,JVM類載入機制這種純技術問題感興趣,對實現用戶需求毫無興趣。這類人看起來有一定的技術能力,但是對公司來講貢獻十分有限,甚至不如技術一般但認真負責的人。所以,一旦遇到面試者演算法好,我就特別留意考察會不會是這種「只磨刀,不砍柴」的人。
另外,雖然我個人不了解Google和MS,但我對於其特別重視考察演算法能力的面試策略是持懷疑態度的。即使在這樣的世界級大公司,演算法雖然重要,但可以想像在項目實施過程所遇到的各種各樣問題中,演算法問題絕大多數時候不會是主要瓶頸,沒有到那種需要每個人都是演算法高手的情況。實際上,絕大多數項目真正難點並不是一兩個演算法瓶頸,甚至也不是單點的技術瓶頸,而是系統性的組織、協調、設計、開發問題,有大量的看起來不是那麼有技術含量的臟活累活,也有許多問題是由於信息不足,並不是技術能力強就能克服這些困難。一個團隊最好優勢互補,有人演算法強,有人業務分析能力強,有人擅長後端服務,有人擅長前端界面,有人聰明,有人踏實,這是最好的。如果按照「演算法好」的單一標准選材,必定會把許多優秀的人才拒之門外。
基礎
基礎面試是指考察諸如指針使用、進程線程概念等基礎知識的面試,十分類似於大學期末考試題。我曾經以為基礎面試十分重要,但是現在不這么看了。在工作中基礎的確是重要的,但是在面試過程中,它必須具有區分性才有意義,也就是說P(工作好|基礎好)的概率要高,那麼考察指針使用,進程線程區別這樣的基礎題目才有它的意義。我的實際經驗是,基礎面試並不具有很好的區分性,和演算法一樣, 差不多P(工作好|基礎好) = 50%。同時,基礎面試是最容易准備的,中國人有長期的應試教育經驗,要准備幾個把玩指針題目太容易了。
我曾經遇到過這樣的面試者,他的C語言基礎和編譯、鏈接等原理掌握得非常好,給我留下了深刻的印象,我給的面試結論是:知識面不寬,只會C語言,但基礎很扎實,建議錄用。後來的事情證明了那個結論的前半部分是對的,但是」建議錄用「錯了。他在實際工作中表現得一塌糊塗,不理解需求,不理解整體架構;同時,上班時間不是花在項目上,而是花在閱讀諸如《程序員的自我修養》之類的書籍上。最後,這位同事由於長期「不出活」離開了公司。
基礎不是不重要,而是「基礎好」不足以說明面試者能幹好工作,因為基礎是屬於局部性知識,而實際工作需要綜合性能力,二者有天壤之別。C語言、操作系統能考高分,但是不會寫程序的人在大學我們還見得少嗎? 軟體開發就像蓋房子,綜合能力是設計和搭骨架,基礎知識是碼磚。張小龍原先Foxmail是Delphi開發的,他它不懂C#,你如果要招聘一個開發.NET Email客戶端的人,你考察他對CLR掌握得好不好有意義嗎? 讓張小龍來開發一個C#版的Foxmail真的會有困難嗎? 你招一個精通C#但沒有Email客戶端開發經驗的人來真的比張小龍靠譜嗎?
我說基礎知識不重要,和古人說的「不積窪步無以至千里」是不是矛盾呢?不矛盾!「窪步」與「千里」是一種可累加關系,但再多的「基礎知識」都累加不成「綜合能力」。學習軟體開發要像持續集成一樣,一開始就是一個完整的系統,雖然規模不大,問題很多,但它麻雀雖小五臟俱全,從小系統到大系統,從簡單系統到復雜系統逐步演化。
所以,基礎好本身不足以說明太多的問題,必須進一步考察綜合能力。對於基礎面試表現不好的面試者,如果時間允許也要進一步考察,有的面試者其實是有能力的,只是沒有進行充分的准備。最理想的狀態當然是基礎和綜合能力俱佳,若不能兼顧,應當綜合能力優先。
經驗
這里所說的經驗不是通過工作了多少年來衡量的,而主要是指面試者的經歷,比如,是否完整地實現過一個軟體,或作為主要開發者完成過一個項目。經驗的重要性在於它能說明一個人的綜合能力。從項目的性質、規模和難度,面試官就可以大致判斷出面試者的綜合能力。如果一個面試者一直在大公司負責一個小模塊的開發維護,那麼基本可以判斷他不具備獨立或作為主要開發者承擔一個項目的能力,只適合在另一家大公司做類似的事情。對於門檻較高需要長期技術積累的職位,相關經驗更顯得尤為重要,比如,Linux內核開發,JVM開發,游戲引擎開發,資料庫實現,高級UX等。對於這類職位,沒有經驗的面試者即使綜合素質不錯也是需要長時間的學習和積累才能勝任。所以,基本上如果確定了你的職位屬於此類,那麼相關經驗毫無疑問應該成為首選因素,換句話說,P(工作好 | 相關經驗好)的概率是非常高的。
通過項目經驗判斷面試者的優劣比通過基礎和演算法測試更加靠譜,所以,面試過程中面試官應該花比較多的時間聽面試者介紹項目經驗,並進行深入地探討交流,了解面試者的知識面、思維能力、表達能力等。同時,可以結合項目提一些基礎知識和演算法的問題,比如,如果面試者做過C++相關的項目,那就可以問他如何進行內存管理?是否熟悉智能指針?如果面試者的回答不能令人滿意,那麼就基本上可以判斷他的項目做得不是很好。
要注意的是,經驗也是一個多維度的事物。比如,C++股票交易中間件系統,這就涉及(C++,中間件,股票) 3個維度。假如面試者A做過C++股票交易客戶端,面試者B做過C的股票交易中間件。從語言角度看,A最匹配,從項目性質看,B最匹配,你如何選擇?這就是在多個維度中,哪個維度更重要的問題,就這個例子而言,我個人更傾向於B,因為我認為中間件開發經驗是主要矛盾,而從C切換到C++並不是問題。所以,面試官需要判斷哪一種經驗是主要的,而哪一種經驗是次要的。比如,我們招聘Android應用開發,這個職位的Android技術門檻並不高,它的真正難點在於做出好的用戶體驗(UX)。所以,如果一個面試者沒有Android的經驗我們是可以接受的,但是我希望他在UX方面有經驗,至少做過其他平台的移動應用開發。
性格
現在,我來談我認為最重要的因素:性格。這可能是許多初為面試官的朋友所難以想像的,怎麼會是性格最重要呢?說實話,當我意識到這一點時,我自己也很驚訝!說白了,還是 P(工作好|性格好)的概率最高啊。我的實際經驗是,如果一個人的性格好,他能把工作做好的可能性是最高的,性格好遠比基礎好、演算法好要靠譜。
一個人如果技術上有缺陷,經驗上有不足,但性格好,在團隊中是很容易由其他人來補位的,他自己也很容易逐漸補起來;相反,如果一個人的性格不好,所有的技術優勢經驗優勢都發揮不出來,甚至還會起到負作用,而且性格缺點很難改變。我一直談到實際工作所需要的是綜合性的能力,這種綜合能力的發揮中性格是至關重要的。項目中不止會遇到技術問題,要涉及溝通、協調,不同的人不同的部門既有合作又有磨擦,如何處理這些事情都需要一個良好的性格。可以說,在開發團隊里讓你與眾不同的不是你從哪個學校畢業,也不是你過去的經驗,而是你的性格。
當然,性格是一個復雜的東西,它包含了很多的方面,並非所有方面都是程序員面試所需要關注的。我的經驗是可以重點考察這些方面:
1) 態度積極還是消極。有的面試者在談吐中就會自然給你一種積極上進的感覺,或者你可以在他的經歷中發現他積極的因素,這些都不是太難看出來的。相反,有的面試者你能明顯感覺到他的消極情緒。積極性在工作中是十分重要的,積極的人能給團隊帶來朝氣,也更易於合作。基本上,如果確定面試者屬於態度積極的,他通過我這一關的可能性就會大大增加;相反,如果確定屬於態度消極的,即使技術能力不錯我也會十分謹慎。
2) IQ。我的經驗是,總體來看,聰明的人在工作中的表現更為優秀。在面試中要考察一個人是否聰明並不一定要像Google和MS那樣找些專門測試IQ的智力題,其實,你只需要看他討論問題是不是很有邏輯性,思考和說話是不是反應敏捷就可以做出大致的判斷。另外,眼睛是人心靈的窗戶,一個人聰明與否,眼睛是會說話的。不過,聰明也不完全是優點,比如,當公司或項目遇到困難時,往往是聰明人先跑掉了,堅守的往往是IQ一般的人。
3) 語言表達能力。語言表達能力也是程序員十分重要的一項素質,它關繫到項目中的溝通是否順暢。面試官可以看看面試者能否用簡明的語言介紹清楚曾經做過的項目,能否抓住要點,能否考慮到聽者的相關背景。一般來講,語言表達能力強的人綜合能力都不會太差。
4) 是否具有用戶意識。有人說程序員是做研發的,哪來什麼用戶?只有銷售、市場人員才會和用戶打交道。其實,這是完完全全的錯誤認識。你寫一個模塊,甚至一個API,只要有別人用,他就是你的用戶。有的程序員設計一個模塊或是一個軟體總是習慣於從使用者的角度來考慮,盡量地方便使用者,這就是一種良好的用戶意識。具有良好的用戶意識的人更能考慮別人的感受和整體的需要,而不是單純地從自己和局部來思考問題。當面試者談及過去的項目經驗時,面試官可以常常站在用戶的角度對其進行提問,從這個過程中觀察其是否具有良好的用戶意識。
5) 如何應對質疑和壓力。面試官應該對面試者的回答以及以往項目進行合理的質疑,看看他如何應對。曾經有一位面試者談到做游戲登錄伺服器的經歷,我就問:「如果登錄伺服器掛了,怎麼辦呢」?他說原先雖然沒有考慮這個問題,但是可以怎麼怎麼改進。其實,大家都理解項目中有各種不完美,這裡面原因很多,只要面對質疑和壓力能從容應對努力往好的方向思考解決就可以了,不需要掩飾缺陷,更不應該有情緒。我遇到過有的面試者,一旦你對其項目提出質疑,他馬上產生反抗情緒,或不高興,或不承認有問題,這很容易一下子看出來他在工作中容不得質疑和批評,這種人要想合作就很困難。
6) 個性特點。許多面試者喜歡在簡歷上寫「精通C++/Linux「,這些字眼看得人麻木,如果有人寫」喜歡C++/Linux「,我就會有一種眼前一亮的感覺。「精通」是沒有感情色彩的敘述,而「喜歡」包含了面試者的個性,我更願意看到面試者的個性。我相信對某樣東西真正的熱情遠比你當前對它的掌握程度更為重要。其實,N年的經歷告訴我們,同一個班的同學,同一個項目組的同事,雖然每天所學的知識,所接觸的工作都是相同的,但其實每個人的成績和表現差異是十分明顯的。那麼,到底本質的差異是什麼呢?其實,就是每個人的個性。是個性使得有的人業余時間去打球,有的人業余時間去看書,有的人喜歡Linux,有的人喜歡Mac。一個人在團隊中扮演的角色也和他的個性有很大的關系。面試官應該引導面試者展現自己的個性,並判斷其是否有益於團隊。
總結
最後總結起來,我的經驗是: 1) 面試官的目標是找到」工作好「的人,一定要圍繞這個目標來進行面試,如果把面試當成了演算法或操作系統期末考試這就走入了誤區;2) 面試過程是通過學歷、性格、基礎、經驗、演算法等可以測試的因素去綜合判斷面試者「工作好」的概率;3) 在各種因素中,性格 > 經驗 > 基礎 > 演算法。性格是最重要的,如果性格不好,所有技術能力都會大打折扣,而且技術缺陷容易彌補,性格缺陷很難改變;經驗體現了一個人的綜合能力,你可以從面試者過去的經歷中判斷他能從事哪種工作,不能從事哪種工作;基礎和演算法則主要起到輔助參考的作用,基礎好的程序員一般適應性比較強,學新技術更快,但是切忌單純從基礎來判斷一個人的能力。

閱讀全文

與如何面試it技術人員相關的資料

熱點內容
便簽小程序哪個好 瀏覽:866
mac如何刪掉頑固程序圖標 瀏覽:182
Word數據有效性如何取消 瀏覽:171
如何判決離婚程序 瀏覽:393
陰陽代理人怎麼找不到了 瀏覽:302
意向代理怎麼拿下 瀏覽:220
夏普手機市場怎麼樣 瀏覽:871
中國外輪代理公司收貨單怎麼填 瀏覽:104
淘寶和千牛的信息如何分開 瀏覽:780
阿里交易因素怎麼優化 瀏覽:763
通知如何設置顯示信息內容 瀏覽:364
尾盤賣出交易軟體怎麼沒成交 瀏覽:722
違章信息多少天發 瀏覽:547
交易市值是多少 瀏覽:143
豪沃運輸車引進什麼技術 瀏覽:101
酒店客房信息能查多久 瀏覽:989
進口葯包裝上都有哪些信息 瀏覽:430
翡翠怎麼找市場 瀏覽:895
程序員和寫小說哪個賺錢 瀏覽:817
微商產品和實體店鋪有什麼區別 瀏覽:480