導航:首頁 > 程序命令 > 如何面試程序員陳皓

如何面試程序員陳皓

發布時間:2022-08-16 10:03:22

⑴ 你要面試一個程序員,應該問他什麼問題

首先面試程序員分有沒有經驗
面試沒有經驗的程序員就隨便問問點ssm,ssh五大框架問題,多線程什麼的,再問問是否會點前端技術
有經驗就看看他的簡歷,問他簡歷項目上的問題,可以圍繞著簡歷上的項目問,通過他的回答涉及到的技術點之類的,拓展出去問其他的

⑵ 如何面試一名程序員

如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
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?
如果允許你取消一種功能,會是什麼功能?為什麼?
這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。
你還可以把這些問題,套用在其他東西上面,比如操作系統、文字編輯器等等。

⑶ 程序員面試的一些注意點,如何寫項目經驗

面試過程需要注意的:

筆試: 去面試之前肯定要先搜集一下相關崗位面試題,如果公司大,公司的面試題也有可能找到,具體筆試題,會在其他博客總結。

面試:本質上是向技術主管推銷自己的過程,

原則:

誠實 能當上主管的人一般都會識破小伎倆,所以誠實是第一位的,不會,就說沒了解過,沒做過就是沒做過。

會講故事 問到概念和問題時,先說概念性的東西,然後講出自己的學習工作經驗,當時是怎麼遇到問題,又是怎樣解決的。

態度 陽光,好學,不要抱怨以前公司,遇到自己了解但不熟悉的問題,可以和主管討論,表示自己願意研究,所有人都會被問道自己小部分不會的,不知道是正常,無關大局。

問題:

一、 遇到大量不會的,這個崗位不適合,自己回去多學習。
二、 問什麼離職 上一家公司很好,不過自己想學習新的技術,接觸新的業務提升自己,
三、 問有什麼問題 問有關工作培訓,工作所用技術的問題,不要問薪資和公司發展方向

如何寫項目經驗:

原則:STAR(Situation Task Action Result)

項目描述(Situation ):項目用途,背景,50字以內。

個人職責(Task ):領導需要你做什麼。

個人工作(Action ):你做了什麼。

成果(Result): 最後有哪些成果,說出量化數據,性能提升百分比,修復bug數量,工期加快速度百分比等。

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

⑸ 程序員面試時需要注意哪些

1 說得太少
尤其是那些開放式的問題,如「請介紹下你自己」或「請講一下你曾經解決過的復雜問題」。面試官會通過你對這些技術和非技術問題的回答來評估你的經驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經驗、成就和技能給企業帶來的價值,那麼你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的准備,學會推銷自己。
2 說得太多
不斷地說,不斷地說,卻並沒有什麼實質性的內容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那麼面試官就會懷疑你在工作時的表現是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細解釋。
解釋也是一門藝術,關鍵是確定重點,如果需要的話再深入到細節。當聊到業務的時候,就應該從業務的角度看問題,不要涉及任何技術術語。學會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那麼這一點也不是問題。
3 回答不出一些必知的基本技術問題
面試不是技術競賽,不是看誰答對的問題多,但是有一些「必須知道」的核心java和Web基礎知識,你不能不知。例如,對於Java開發人員
1)不知道「==」和equals之間的區別。
2)不知道equals和hashCode方法被隱式調用時的約定。
3)不能解釋曾投入精力過的應用程序的高層體系結構。
4)不知道OO的概念和設計原則。
5)不能很好地處理多線程。
6)不知道如何在HTTP客戶端與伺服器端之間保持狀態。
7)不知道SQL。

4 既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發人員,你應該根據自己的經驗水平,來針對給定的問題和情況編寫代碼。如果碰到一些比較棘手的問題,那麼即使你還沒有解決方案,也應該將你的思路講給面試官聽。當然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應該說明你將如何試著去解決問題的方法。
5 糟糕的禮儀和態度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過於緊張,沒有提問,顯示不出對這份職業的興趣,「我什麼都知道」的高傲態度,貶低你的現在和以前的僱主,遇到技術問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發生爭執,隨波逐流而沒有自己的看法,過於呆板,撒謊,嗓門太大,無法成為良好的傾聽者,等等。
提示:面試官要找的不是技術明星,而是實實在在具備了合適的技術技能、軟技能、端正的態度以及能為企業獲取利益、全面的專業人才。因此,不妨先研究下想要應聘的機構,深入了解其工作規范以調整回答問題時的方向和重點。將每一場面試都當作免費的培訓課程,積極調整心態,不但能達到一個雙贏的局面,還可以減少緊張的情緒,從而獲得更好的表現。這樣即使你並沒有得到那份工作,也可以由此學到點什麼,獲得進步

⑹ 如何面試程序員

大部分java公司都會這樣:

1.先筆試

平時多看看筆試題目,提高自己基礎知識水平

2.筆試做得好會 有技術經理面試,筆試做得不好,就要你走人了

面試,最主要的自己要有信息
能落落大方的說出自己的工作經歷

3.面試過了就能拿到barfer了

⑺ 《.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、上門面試時,去衛生間看一下:
沒錯,就是去衛生間。可以提前點到,然後問一下前台衛生間,去衛生間洗個手(或者面試完成後也行),特別是看看廁紙的質量。當然,讓你去看看衛生間的環境和廁紙質量,不是在衡量以後你在這里方便的是否舒服,而是通過衛生間的狀況,可以看出企業管理者對於治理企業的態度。如果一家企業連衛生間的要求都很高,裝修比較好,衛生條件也不錯,甚至連廁紙質量都很好,那麼在其他方面,對待員工應該差不了哪裡。說來你可能不信,我見過的企業中,幾乎都滿足這一條。不好的企業衛生間一定是比較破爛,設施破損懷舊了也不會及時修理,廁紙用的最廉價的。而好的企業衛生間裝修精美,設施干凈,廁紙也是較厚較柔軟的。其實大家可以仔細留意一下,好的商場,好的學校,衛生間相對都比較高檔一些。
其實面試還是得靠自己的實力,所以技巧再多都是輔助,只有自己的技術水準達到一定的程度,才能拿下心儀的職位。

⑻ 如何面試後端程序員

不需要寫代碼就能衡量候選人的方法可能有一萬種。我常用的三個主要方法可以覆蓋許多不同的技能。在面試過程中,我們會談論候選人的經驗,要求他們做一些代碼審查,並與別人合作設計一個系統。

下面我會詳細解釋這個過程。

我試圖通過這些方法找到真正能夠勝任技術工作的候選人,並且他們必須能在單純的編程技能之外給團隊帶來價值。通常在一次面試中我能在大約一個小時內覆蓋所有三個部分。我有信心這些信息能讓我找到好的候選人。

1、深入挖掘他們的經驗

許多團隊已經這樣做了。他們會在面試一開始花幾分鍾,詢問候選人之前的工作,他們對工作的態度,等等。大多時候這就像隨意談話一樣。

但這是不對的。

記住這是面試。你需要盡可能地理解他們構建系統時使用的技術。

為了做好這一點,你需要在面試開始之前仔細閱讀他們的簡歷。這不是開玩笑,在面試開始之前至少花上10分鍾仔細閱讀(不是略讀)簡歷,如果花30分鍾時間則最好。要從簡歷中盡可能多了解些他們之前的項目,Google一下看看能否找到他們項目的公開信息。面試時挖掘背景信息所花的時間越少,就越能獲得好的效果。

在面試中,要求候選人談談他最近最感興趣的項目。要練習主動的傾聽,要學會參與。假裝你是他團隊中的一員,或者假裝你們是在做架構審查。你要努力了解他們構建的東西以及構建的方法。這樣做的好處和壞處是什麼?要讓候選人知道,不知道答案無所謂,但重要的是能勾起你的好奇心。

下面是我認為能獲得好的答案的問題:

⑼ Java程序員面試時如何自我介紹(中英文)

自我介紹
1.報名字.(問聲好,我叫XXX)
2.報工作履歷.(一般面試官從這里切入,問一些他想知道的問題.試探你的能力\性格等.)
3.報專業技能.(如果沒有被打斷,就繼續說幾個專業技能)
4.談理想.(憑借對對方公司的了解,說明一下應聘工作的目的以及職業規劃等等。)

對於你,我們不知道的資料太多了,沒辦法說的很細。
我猜測你之前可能沒有經歷過很多面試(有時間找些不大理想的公司去練膽子和熟悉對話,你有工作經驗面試應該有很多。)或者只是在在培訓機構漲了些項目經驗(項目的的具體實現和細節弄清就行。)。

祝你找到理想的工作,變得自信又固執(程序員通病),呵呵。

閱讀全文

與如何面試程序員陳皓相關的資料

熱點內容
fortran程序pdf 瀏覽:503
電池消耗演算法 瀏覽:393
伺服器中斷連接怎麼處理 瀏覽:221
上世紀互聯網不發達程序員很難 瀏覽:840
語音識別android開源 瀏覽:761
地埋式垃圾壓縮中轉站 瀏覽:901
apachehttpdlinux 瀏覽:943
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:856
keytool加密演算法 瀏覽:130
笑臉圖案的APP相機是什麼軟體 瀏覽:249
app軟體為什麼會被下架 瀏覽:979
從內存到硬碟的命令是 瀏覽:51
程序員的爸爸們的發型 瀏覽:122
魔獸世界傷害壓縮是怎麼壓的 瀏覽:975
壓縮機型號hp 瀏覽:957
配音虛弱的程序員 瀏覽:61
8歲小學生程序員編程 瀏覽:255
app標示do的是什麼 瀏覽:451
小愛同學app里怎麼設置鬧鍾 瀏覽:628