導航:首頁 > 程序命令 > 普通程序員如何做面試官

普通程序員如何做面試官

發布時間:2022-09-24 11:46:48

㈠ 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) 在各種因素中,性格 > 經驗 > 基礎 > 演算法。性格是最重要的,如果性格不好,所有技術能力都會大打折扣,而且技術缺陷容易彌補,性格缺陷很難改變;經驗體現了一個人的綜合能力,你可以從面試者過去的經歷中判斷他能從事哪種工作,不能從事哪種工作;基礎和演算法則主要起到輔助參考的作用,基礎好的程序員一般適應性比較強,學新技術更快,但是切忌單純從基礎來判斷一個人的能力。

㈡ 程序員該如何跟面試官介紹自己的項目經歷呢

面試官通過被面試者自我介紹要考察以下五方面內容:
第一,考察自我介紹內容和遞交簡歷內容是否相沖突?如果簡歷是真實的,口述自我介紹就不會有明顯出入。如果簡歷有假,自我介紹階段一般就會漏馬腳。如被面試者反問:「我的經歷在簡歷里都寫了」,面試官會認為這人個色,印象分一下子降為負數。
第二,考察被面試者基本的邏輯思維能力、語言表達能力,總結提煉概括能力。
第三,考察被面試者是否聚焦,是否簡練和精幹,現場的感知能力與把控能力。
第四,考察被面試者初步的自我認知能力和價值取向。因為被面試者要敘述職業切換關鍵節點處的原因,尤其要考察最近職業變動的原因。
第五,考察被面試者是否聽明白了面試官的話以及時間的掌控能力。有時面試官給出的問題是「請您用3到5分鍾做一自我介紹」,被面試者有時一介紹就超過10分鍾,甚至20分鍾,逼得面試官不得不多次提醒引導。

㈢ 程序員應該怎樣去面試

嗨,親愛的程序員朋友們,如果你是工作好幾年的人了,那麼你一定經歷過面試吧,今天我以個人的視角總結了一下怎麼才能有一次成功的面試,希望對你有所幫助。如果你已經開始看了,那麼你一定看完哦,只有有耐心的人兒才能成大事,如果看了一半,這篇文章對你來說是沒有任何收獲的,反而卻浪費了你寶貴的時間。

關於簡歷的製作

每個技術面試官每天要閱覽幾百甚至上千份簡歷,閱讀一封簡歷的時間可能不超過10秒,你的簡歷就是茫茫大海中的一滴水,如果能讓面試官從一大摞簡歷中選出你的簡歷,那麼就需要從簡歷製作上下功夫了。

各位可以仔細琢磨一下上面的幾種場景,有時沒有經歷過這種場景,可能沒法對上面的描述做到感同身受,看了之後就會一帶而過了,建議收藏此文,以後遇到類似情況了,可以把這篇文章找出來看看,相信會對你有所幫助,最後祝各位程序員朋友們都能找到自己心儀的工作!

大家好,我是「上世是朵花」。如果你有什麼好的看法或者觀點可以在評論區展現你的才華,互動交流,如果想進一步了解我,那就關注我吧。

㈣ 程序員技術面試中,當面試官問「你還有什麼問題」,應該怎麼回答

應聘程序員,在技術面試的時候,結束時面試官通常會問一個問題:你還有什麼問題嗎?眾所周知,面對這個問題不能直接說沒問題了,因為這是你掰回一句或者加深認可的好機會。但是下面這4個問題在技術面試時最好不要問:

1、「我能拿多少工資?」

注意你參加的是技術面試,盡量不要問跟技術不相關的東西,這在技術面試的過程中是一個減分項。一般面試官如果對你有興趣會主動地詢問你的理想薪資。

2、「五險一金有沒有?交通補助有沒有?」

這個問題一般不建議去問,這些問題在技術面試後人事會主動告訴你或者自己主動去詢問人事都可以的,但是在技術面試官面前,問這些跟他本職工作沒有關系的問題會讓面試官覺得不耐煩。

3、「公司經常加班嗎?」

作為開發人員加班的情況肯定是會有的,只是經不經常可能得看公司的實際情況。在面試時問這個問題你可能只是想了解一下公司的加班情況,但卻會讓面試官質疑你的抗壓能力,給面試留下不好的印象。

4、「您覺得我今天能面上嗎?」

有些小夥伴可能急於求職,所以會有些迫切地問這個問題。如果面試官覺得你有希望肯定會給你一些信號,如果面試官不看好你,問這個問題可能讓雙方都比較尷尬。

上面說了4個不該問的問題, 那在面試官問「你還有什麼問題嗎?」時應該問一些什麼問題?

再次點題,在技術面試最好提跟技術相關或跟本職工作相關的的問題。第一,可以問一下關於產品的問題,比如一下產品用的什麼技術,想回去了解一下,或者關於一些新的技術比如大數據、spring boot公司是怎麼用的。這些問題既能讓面試官有興趣回答,又能展現你的知識面。

㈤ 北大青鳥分享程序員面試有什麼注意事項

面試是每個普通程序員面前的一座大山,給了大家無盡的苦惱和困惑。程序員面試很難嗎?難!正常的,要經過兩輪技術面試以及一輪經理面試,也有不少頂尖公司甚至需要三到五輪的技術面試。

幾輪面試下來,能熬到最後,這絕對是真正意義上的「過五關斬六將」了。很多優秀的程序員業務能力很過硬,但都因為在面試的時候發揮失常,從而屢屢與大廠失之交臂。所以,每一個面試成功者,都算是勇士。要給自己點個贊!


那麼面試時,我們究竟需要注意什麼呢?今天,北大青鳥http://www.kmbdqn.com/就教給大家幾個面試成功的技巧。


1、首先,要確保你理解了面試官的問題。


許多問題都是故意措辭模糊或者模稜兩可,這個時候你可以請面試官把問題說清楚,從而確保你真正回答面試官的問題。你的提問同時還有一個好處,就是它能給你自己一些時間,讓你的腦子轉起來。


2、用一到兩個例子來確定問題的限制條件和要求(在現場面試時在白板上完成這個過程,在電話面試時在筆記本上完成)。


嘗試用中等規模的例子,以便覆蓋到一些特殊情況。如果你能想到可能相關的表格,就把它畫出來。事實上,把你想到的任何東西都寫下來是會有幫助的,因為它能為你提供一個視覺錨點,從而讓你在走不通時或者思考過程中隨時返回某一個點。


3、把話說清楚,這可能是最重要的一步。


要試著讓面試盡可能有更多的互動,面試官不知道你在想什麼,而讓他們參與到你的思考過程里,會讓她給你一些有用的提示,防止你偏向錯誤的方向。你的目標就是要先和面試官確證你的答案,然後再去寫代碼,而且你考慮答案越清晰、越高效,你得到的即時反饋也就越好。


4、通過應用以下技巧來找到答案


回想一下你遇到的類似問題,再想想它們是如何被解決的,嘗試各種不同的演算法(分治演算法、貪心演算法、遞歸、排序,等等),把問題分解成更小的、可處理的小問題(這樣你就能得到相應部分的分數),最後再通覽一遍你列出的數據結構,因為有時候,只要想到了正確的數據結構,就能給出正確的答案。


5、當你向面試官問清楚了問題、並向她解釋了你的答案之後,就可以開始寫代碼了。


在共享文檔里寫代碼的時候,你可以復制粘貼、寫評論,而且能回過頭來完成骨架演算法和功能。但在白板上寫代碼就不一樣了,它需要你的頭腦很清醒,而且需要你具備管理白板空間的技能。


㈥ 程序員面試的時候考官一般問什麼問題(比較流行的)

給你提供點參考信息,希望能幫助到你:

1、使用相同的工具和時間限制模擬面試訓練

Google和微軟都會讓應聘者在白板上手工解答編程問題,但通常大部分的應聘者都是習慣於在電腦上利用編程工具系統編寫程序。因此面試的時候,某些應聘者離開了熟悉的電腦游標,站在白板前感覺手足無措不知該如何起行。又或者他們不習慣在編程之時旁邊有人觀看,這會讓他們感到緊張而無法正常思考。

在現實生活中,如果你想要橫渡英吉利海峽,自然不能總是在室內游泳池練習。你必須投身於大海在波濤之中訓練,在准備面試的時候也是如此。

在面試開始之前你最好向招聘單位詢問面試形式和面試問題。如果招聘單位讓你在某個房間考試且僅提供沒有匯編程序的編輯器,那麼就應該在家中按照這種情景進行練習。如果招聘公司單位讓你在白板上回答問題並會安排考官在旁監督,那麼你就要找一位軟體工程師來扮演考官配合你練習。即使找來的考官經驗不如你也沒有關系,他們依然能幫助你消除在他人面前出錯所帶來的緊張感,這樣可以讓你適應有人在旁邊盯著看的面試氛圍。

如果你恰巧認識我並希望由我來幫你聯系,那我的條件就是必須請我吃飯:如果你已經工作了就吃日本壽司大餐;如果你還是學生,那麼吃比薩餅也可以。

2、在面試過程中不要對細小錯誤耿耿於懷

我曾不止一次的在面試過程中碰到這種情況:當應聘者知道編程問題後,他馬上就想到了最佳的方案、確定了邊界條件,然後開始編寫程序。但在編寫過程中,應聘者犯了諸如首先檢查是不是操作順序錯誤或忘記設定某變數等無關大局的小錯誤,當我指出其錯誤之後,應聘者立刻變得十分緊張,這種焦慮情緒影響了他在後面環節的正常發揮。

其實這種恐懼心理完全不必要。一名優秀的程序員在編程過程中出現錯誤也是很正常的,就像是小提琴手在演奏高難度的巴赫交響樂時也會偶爾失誤。音樂會的聽眾可能會覺察到這些錯誤,但是聽眾絕對不會因為這種細小失誤就把出色的小提琴手看作是門外漢。

即便應聘者徹底搞砸了某個編程問題,面試考官也可能會提出不同的問題並會容忍應聘者在某個問題上的失誤。再退一步說,就算某次面試徹底失敗,你也有機會在其它面試上補救。

我的一位同事(一個項目的技術負責人)最近面試了一個人,在開始面試時他覺得面試者的交流方式存在問題,因此開始表現的相當不友好。但經過了整個面試過程後,面試者證明了自身的能力,而我的那位同事也成了那位面試者最堅定的支持者。在過去的一年中,我從未見過這位同事如此強烈的支持哪位面試者。

所以,因此就算面試進展不順,也務必堅持到底不要放棄。

㈦ 《.NET》程序員面試應該怎麼准備

一、NET程序員面試的技巧:
面試是很奇妙的一件事情,在短短的一段時間內,要讓一個完全陌生的人認可自己的專業能力,認可自己的人品,認可自己的職業習慣等。而同樣,被面試者需要判斷這是否是一家靠譜的公司,是不是有錢,是不是適合自己工作,是不是和自己發展方向一致等。工作就像是娶媳婦(找老公),不是說隨隨便便說換就換,而是自己每天都要面對的事情,所以找個好的企業,找一份好的工作,對於一個靠自己養活自己的人來說真實太重要了,那麼找好企業,找好工作的第一步就是面試。
一、面試自身的綜合素質。
1、基本儀容和禮儀:
其實不是針對面試,基本儀容和禮儀在日常生活也是非常重要的,是一個人是否有教養,是否有素質的基本要求。
穿著:如無特別需要,不要著正裝,休閑裝即可。但是不要光腳丫子大拖鞋,背心吊帶,男士不要穿露腳趾涼鞋。干凈整潔即可,表示對本次面試的重視和對面試官的尊重。
儀容:女士如果想化妝的話,淡妝即可,素顏也可以。男士頭發理一下,鬍子剃掉。還是那句話,干凈整潔,萬萬不可口腔有異味,或者身上有體味(特別是腳丫子臭味,絕對不行)。
禮儀:多說「請」,「您」,「謝謝」,記得進門後關門,前台給你倒的水走的時候記得拿出去扔掉。坐下來面對面試官要有坐像,不要跟在家裡一樣太隨便,說話口齒清楚,慢一點說,不要跟打機關槍一樣。切記,不可做作,細節處把握尺度就行。如果遇到和面試官有分歧的時候,立即閉嘴並閉嘴,不要爭論,不要試圖說服面試官,更不可恥笑或者蔑視面試官,哪怕你確實不知道比面試官高到哪裡去了。記住,這是禮貌,跟自己技術有多牛逼無關。
謙虛:任何時候,把自己放在一個相對低的姿態,自己是來面試,不是來教育面試官的,抱著一種接受檢閱和學習的態度面對面試,千萬千萬不要覺得自己主角光環加身,天下之大老子第一。謙虛,起碼不會讓你有成為一個跳樑小丑的機會。
2、專業基礎知識:
對於程序猿來說,專業基礎知識絕對是重中之重,是面試成功的最基礎要素。說的專業基礎知識,不是說自己做了多少個項目,寫了多少行代碼,而是軟體開發的基礎知識。
在面試的時候,有時候會遇到一些候選人,乍一看簡歷也有好幾年工作經驗,項目也寫的滿滿的,但是卻連「值類型引用類型本質區別」,「構造函數有哪些特點,何時被調用」,「類和介面區別是什麼」這樣的問題也回答不了,注意, 是回答不了,也就是不知道,不是知道意思但是組織不了語言。 這類候選人通常在連續回答不上幾個問題後,開口為自己辯解:「我動手比較強,寫代碼都沒問題,但是書上的概念我真的不太清楚」。能說出這個話,就說明此人根本就明白作為一個技術工作者最基本的專業素質是什麼。所以千萬不要覺得自己工作幾年,有些代碼經驗就已經可以挑戰更加高薪的工作。
在面試前,一定要先審視一下自身的基礎知識掌握程度,如果有必要,自己買書回來或者網上找一些資料,利用空餘時間系統的學習一遍,比如所使用的語言本身,比如自己擅長的框架底層實現,比如編譯原理,比如多線程的知識,比如Http相關的知識等等。千萬不要沒有一點點基礎知識儲備或者基礎知識儲備不豐富就跑去面試,失敗的幾率非常大,如果眼睜睜的看著自己心儀的工作機會擦肩而過,我想是誰都會難過的。
3、溝通能力:
面試的過程本質上就是一次溝通的過程,候選人在短短的時間內要盡量的向對方展現自己的長處,隱藏自己的短處,盡量讓對方問題得到圓滿答復並且留下較好印象。有些程序猿性格內向,在陌生人面前比較靦腆,話語不多。當然,這不能說是做錯了,只能說是一些性格上的短處而已(如果很嚴重,那就有自卑的可能,需要重視並且糾正)。在面試時,候選人一定要精神煥發,昂首挺胸,眼神堅定,切記切記眼神不要飄忽不定,切記切記不要瓮聲瓮氣。咱們遇到不會的問題,就老老實實的說「這個我不清楚」,或者「這個我不會」,千萬千萬不要不懂裝懂,顧左右而言他,打算糊弄過去。搗糨糊是過不去的,面試官的問題肯定是面試官非常清楚答案的,忽悠面試官就是在忽悠自己,有意思嗎,當然,也不要胡亂回答,否則只會成為面試官和其它的同事茶餘飯後的笑話。
在面試時,盡量雙眼直視面試官(但不要瞪著人家),背挺直,手機開飛行模式,說話口齒清楚,利落乾脆,回答得上就盡量說,回答不上直接說不知道,不要羅里吧嗦 ,特別是談到薪酬,對方問你期望時,最好在現有基礎上增加10%-20%,不要漫天要價,也不要不好意思,放心大膽的說出自己的期望,如果對方覺得略高,會再跟自己商量。務必一開口就給人真誠,干練,乾脆,專業的印象。
4、過往項目經驗:
很多面試者不大重視自己的過往項目經驗,每個做過的項目,雖然自己在其中可能只是做一個模塊甚至一個功能,但是自己都會想辦法搞清楚整個項目的業務流程,研發背景,內部模塊功能,和外部如何實現集成,底層資料庫的設計,整體系統架構設計等等。在面試候選人的時候,通常都會問最近一個項目相關的東西,有很多候選人都會表示是自己一個人設計開發了這個項目,但是連有哪些功能模塊,系統結構(注意,不是架構)都回答不出來。有些面試者,在面試一些中高級的程序員時,很喜歡從過往經驗入手,自己再一遍介紹的時候他可能隨時提問。因為這樣有2個好處,第一是預防一問一答的形式,候選人事先背了很多問題的答案,第二是從候選人過往項目經驗入手,除了可以看出候選人是否虛假構建了項目經驗,還可以判斷該候選人對開發細節的把握以及對一些技術點的反應能力和掌握情況,畢竟「突然襲擊」比「瞄準射擊」要更加考驗候選人。
所以,在面試前,應該好好把自己以前的項目經驗都捋一捋,特別是上一個項目,從業務流程到產品設計到系統開發,特別是項目內一些你做過的細節地方,准備在面試時拿出來說的,必須以此為點,相關的東西都查查資料看一看。再一個就是項目裡面的閃光點,什麼叫閃光點,就是高大上的東西,需要自己多了解了解,在面試的時候拿出來說也可以加分。面試的時候談到這個上面(閃光點)的時候,面試官對這一塊很有興趣,越問越深,也知無不言,為自己增分不少。
5、不要作弊:
有些企業在面試程序員的時候,喜歡一開始扔一張試卷讓候選人先做,然後再去面試。暫且先不談做卷子考察方式的好壞, 在做試卷的時候,萬萬不要用移動設備上網查詢答案。 本身作弊的行為就讓人不齒,如果面試官在暗處進行觀察,發現作弊,那就太尷尬了。會就是會,不會就是不會,即便你用手機查答案把試卷寫的滿滿的,在接下來面試的時候,面試官再就試卷上的問題展開一問你,你還是不會。所以不管有沒有人監督,在面試的做試卷環節,千萬不要作弊。
6、熱門技術點的掌握:
其實這是個增分項目,如果上面幾點都已經通過面試的考核,那麼這一點就會成為你絕對的亮點。
首先要先自己了解一下當前熱門的技術,然後通過分析自己申請的職位,去看看可能涉及到哪些熱門的技術,然後再去專門的找資料進行學習和動手實驗。比如你是搞互聯網的,那麼最好學習一下負載均衡相關的技術,學習分布式資料庫的技術,學習緩存技術,學習頁面靜態化的技術;
如果自己是搞數據分析的,那麼最好學習一下Hadoop,學習一下微軟的Cube,學習一下惠普的Vertical;如果自己是搞iOS的,那麼可以看看Swift,可以看看Xamarin,可以看看WebSocket等,當然,我只是舉幾個例子,不一定非要這樣對應,如果是搞Java的,也可以去看看Pathon,如果是搞.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、上門面試時,去衛生間看一下:
沒錯,就是去衛生間。可以提前點到,然後問一下前台衛生間,去衛生間洗個手(或者面試完成後也行),特別是看看廁紙的質量。當然,讓你去看看衛生間的環境和廁紙質量,不是在衡量以後你在這里方便的是否舒服,而是通過衛生間的狀況,可以看出企業管理者對於治理企業的態度。如果一家企業連衛生間的要求都很高,裝修比較好,衛生條件也不錯,甚至連廁紙質量都很好,那麼在其他方面,對待員工應該差不了哪裡。說來你可能不信,我見過的企業中,幾乎都滿足這一條。不好的企業衛生間一定是比較破爛,設施破損懷舊了也不會及時修理,廁紙用的最廉價的。而好的企業衛生間裝修精美,設施干凈,廁紙也是較厚較柔軟的。其實大家可以仔細留意一下,好的商場,好的學校,衛生間相對都比較高檔一些。
其實面試還是得靠自己的實力,所以技巧再多都是輔助,只有自己的技術水準達到一定的程度,才能拿下心儀的職位。

閱讀全文

與普通程序員如何做面試官相關的資料

熱點內容
servlet教程pdf 瀏覽:969
蜂鳥眾包app如何聯系客服 瀏覽:187
程序員t恤淘寶 瀏覽:92
自助研發app如何推廣 瀏覽:726
國家反詐app在哪裡下 瀏覽:946
如何在晉江文學城添加密保 瀏覽:338
linux父進程kill 瀏覽:871
設備樹文件反編譯 瀏覽:501
小米照片的文件夾叫什麼 瀏覽:294
怎樣查程序員轉獵頭 瀏覽:672
吉林小說網綜排行榜少年巨 瀏覽:182
dns測試命令是 瀏覽:750
手機文件雙重解壓 瀏覽:481
linux查看tomcat線程 瀏覽:153
51單片機晶振電容 瀏覽:636
編譯器錯誤的位置怎麼找到 瀏覽:434
編譯原理操作系統圖形學 瀏覽:843
安卓怎麼玩華為 瀏覽:249
情人節網站源碼 瀏覽:307
設備管理命令行 瀏覽:726