① 如何面試一名程序員
如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
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?
如果允許你取消一種功能,會是什麼功能?為什麼?
這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。
你還可以把這些問題,套用在其他東西上面,比如操作系統、文字編輯器等等。
② 程序員面試時需要注意哪些
1 說得太少
尤其是那些開放式的問題,如「請介紹下你自己」或「請講一下你曾經解決過的復雜問題」。面試官會通過你對這些技術和非技術問題的回答來評估你的經驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經驗、成就和技能給企業帶來的價值,那麼你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的准備,學會推銷自己。
2 說得太多
不斷地說,不斷地說,卻並沒有什麼實質性的內容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那麼面試官就會懷疑你在工作時的表現是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細解釋。
解釋也是一門藝術,關鍵是確定重點,如果需要的話再深入到細節。當聊到業務的時候,就應該從業務的角度看問題,不要涉及任何技術術語。學會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那麼這一點也不是問題。
3 回答不出一些必知的基本技術問題
面試不是技術競賽,不是看誰答對的問題多,但是有一些「必須知道」的核心Java和Web基礎知識,你不能不知。例如,對於Java開發人員
1)不知道「==」和equals之間的區別。
2)不知道equals和hashCode方法被隱式調用時的約定。
3)不能解釋曾投入精力過的應用程序的高層體系結構。
4)不知道OO的概念和設計原則。
5)不能很好地處理多線程。
6)不知道如何在HTTP客戶端與伺服器端之間保持狀態。
7)不知道SQL。
…
4 既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發人員,你應該根據自己的經驗水平,來針對給定的問題和情況編寫代碼。如果碰到一些比較棘手的問題,那麼即使你還沒有解決方案,也應該將你的思路講給面試官聽。當然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應該說明你將如何試著去解決問題的方法。
5 糟糕的禮儀和態度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過於緊張,沒有提問,顯示不出對這份職業的興趣,「我什麼都知道」的高傲態度,貶低你的現在和以前的僱主,遇到技術問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發生爭執,隨波逐流而沒有自己的看法,過於呆板,撒謊,嗓門太大,無法成為良好的傾聽者,等等。
提示:面試官要找的不是技術明星,而是實實在在具備了合適的技術技能、軟技能、端正的態度以及能為企業獲取利益、全面的專業人才。因此,不妨先研究下想要應聘的機構,深入了解其工作規范以調整回答問題時的方向和重點。將每一場面試都當作免費的培訓課程,積極調整心態,不但能達到一個雙贏的局面,還可以減少緊張的情緒,從而獲得更好的表現。這樣即使你並沒有得到那份工作,也可以由此學到點什麼,獲得進步
③ 公司讓我面試新人,作為程序員我第一次面試別人,好緊張啊,要問點什麼嗎
面試,其實最主要的是要了解新人。
我們需要了解求職者的興趣和愛好,從而判斷其性格特徵和工作能力。
我們可以根據所招聘崗位的要求和內容,要求面試者敘述下自己究竟哪些方面符合所應聘崗位的特殊要求,從而幫助判斷是否符合該崗位的需求。
貴單位如果該崗位涉及加班或者經常出差,一定要詢問面試者能否接受這種工作的模式和方式,從而幫助我們判斷該求職者能否在此崗位長期做下去。
④ 程序員應該怎樣去面試
嗨,親愛的程序員朋友們,如果你是工作好幾年的人了,那麼你一定經歷過面試吧,今天我以個人的視角總結了一下怎麼才能有一次成功的面試,希望對你有所幫助。如果你已經開始看了,那麼你一定看完哦,只有有耐心的人兒才能成大事,如果看了一半,這篇文章對你來說是沒有任何收獲的,反而卻浪費了你寶貴的時間。
關於簡歷的製作
每個技術面試官每天要閱覽幾百甚至上千份簡歷,閱讀一封簡歷的時間可能不超過10秒,你的簡歷就是茫茫大海中的一滴水,如果能讓面試官從一大摞簡歷中選出你的簡歷,那麼就需要從簡歷製作上下功夫了。
各位可以仔細琢磨一下上面的幾種場景,有時沒有經歷過這種場景,可能沒法對上面的描述做到感同身受,看了之後就會一帶而過了,建議收藏此文,以後遇到類似情況了,可以把這篇文章找出來看看,相信會對你有所幫助,最後祝各位程序員朋友們都能找到自己心儀的工作!
大家好,我是「上世是朵花」。如果你有什麼好的看法或者觀點可以在評論區展現你的才華,互動交流,如果想進一步了解我,那就關注我吧。
⑤ 程序員面試該注意什麼
閑聊
面試過程中,背景往往是初始話題,通過閑聊,他們可以得知你對編碼的認知、你的個人能力或領導力、溝通問題、技術經驗等。因此,你可以通過舉出能表明自己以上能力的例子,凸顯出自己熱愛技術、自信陽光的特性,這是基本能給面試官留下不錯的印象。
溝通
涉及到編碼問題的時候,溝通是關鍵。一個在工作時需要幫助卻能和人正確溝通的求職者比那些能輕松解決問題的求職者甚至更好。充分了解面試官出的問題到底是什麼類型,如果你開始編寫代碼,並且面試官並不想多說廢話,切忌高談闊論。讓人感覺你有團隊精神,敢於表達自己的想法,如果是是在解決不了的問題那就不要裝作自己很懂,凡是要先思考再做決定。
擺脫困境
有時候你會陷入僵局,放鬆,盡量巧妙地尋求解決辦法,不要浪費時間在腦袋裡思考,動手操作會更加形象;為解決問題尋找簡單版本,寫一個簡潔低效的解決方案,然後對其進行優化;與面試官多交流方法技巧,展示出自己的思路;要察言觀色,偶爾觀察面試官的神態或許對解決或有幫助;考慮空間和運行時的界限。
寫下你的思路想法
憑空地想很容易自我矛盾,把你的想法寫下來,然後再去考慮細節;調用幫助函數,繼續前進,不要擔心語法問題,為自己預備足夠的空間,用以在代碼行之間添加代碼或筆記;最後寫一個重頭檢查的標志,不要擔心你寫的for循環是否應該有「<」或「<=」。在代碼的最後畫個勾選提醒自己最後再檢查一遍。先按自己的思路走;使用描述性的變數名,標准化很有意義。
完成之後的整理
瀏覽解決方案,當程序運行時記錄下變數保存的值——如果你只是記在腦子里,不會讓你贏得任何加分,這有助於你發現bug和消除面試官的困惑;尋找差一錯誤,測試邊緣情況,措施包括空集合,單項目集合或負數;不要做惹人厭煩的事。
實踐
最後,運行實踐問題是沒有捷徑的。好記性不如爛筆頭,對自己誠實,用筆寫可能一開始會讓你覺得別扭,但是如果你現在就能克服這個難題,那麼當面試的時候,你就不會覺得笨拙和不順手了。准備充分,放輕松,技術在手,終能收獲一席之地。
⑥ 你要面試一個程序員,應該問他什麼問題
首先面試程序員分有沒有經驗
面試沒有經驗的程序員就隨便問問點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?
如果允許你取消一種功能,會是什麼功能?為什麼?
這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。
你還可以把這些問題,套用在其他東西上面,比如操作系統、文字編輯器等等。
⑧ hr面試程序員問什麼問題,程序員在面試的時候的注意事項
01 和優秀開發者溝通
如果你本身沒有編程背景,那就盡量找到一些優秀的開發人員給你指點迷津。
02 問專業的問題
1. 簡要介紹一下你自己以及你最近在做的項目嗎?
作用:這個問題可以讓你更好地了解你的候選人,而談論近期工作能了解他對工作的熱情和奉獻。
2. 其他時間有別的項目要做嗎
作用:鑒於你的項目的時間長短和工作復雜程度,你可能只想找一個能完全投入到這個項目的人。但是很多程序員都會同時兼顧好幾個項目,你要確保彼此雙方的需求是什麼。
3. 你是怎麼看待自己的身份的?開發?產品經理?還是二者都是?
作用:理想的回答一般是『二者都是』, 但是你要認真評估每個候選人可能給你團隊帶來的有利和不利影響。產品經理可以幫助設計新的功能和交互,但是你也需要足夠的開發才能跟上方向從而建構你想要的內容。
4. 你會如何管理一個程序員團隊?
作用:這個問題可以幫你了解候選人的領導能力和風格。
5. 告訴他們公司想要的人是怎樣的。
作用:直截了當地告訴對方你的期望。像工作時間,項目長短,目標等等,這些都是對方很想知道的。就像你評價他是否適合公司一樣,對方也會評價你的公司是否適合他。
03 去合適的地方招聘
你不能指望天上會掉下個好程序員給你,微軟和谷歌的優秀程序員也不會自己蹦到你跟前。你的機會在於,很多這樣的程序員都擁有或追求商業想法。
你可以多去一些網站、活動大賽等地方探索發掘,這比你在社交網站上找到他們的運氣要大得多。
· 編程大賽
編程大賽就是程序員高手們雲集在一起,合作共同完成一個軟體的開發。
猿圈會定期舉辦此類招聘編程大賽,幫助企業挑選優質人才,提高企業品牌僱主形象。
· 開放性源代碼貢獻者
一些網站比如GitHub,提供在線代碼存儲庫, 程序員可以自由對開源項目貢獻自己的代碼。
所以,在招聘之前,你可以先去這種網站上找一找有潛力的候選人。
· 大學
· 軟體開發大會
盡可能多的去參加一些和你的產品相關的軟體開發大會。
· 技術博客
你能根據他們的博客判斷他們的技術技能、解決問題的能力以及寫作和溝通能力。
04 沒通過編程測試,堅決不錄用
你只能記住一條原則,那必須是,沒有讓候選人參加編程測試之前,千萬不能決定錄用與否。
通常情況下,出於項目的緊迫,我們會傾向於選擇看起來靠譜的第一個程序員,但是不拿到他的編程測試結果,不要沖動地下offer。
我也是個不懂代碼的HR,但是我善於利用各種各樣的工具,前段時間發現了一個猿圈測評的工具,我用它測試程序員候選人,通過測試結果判斷是否值得邀約來面試,這個我覺得很贊,你可以試試看
⑨ 面試程序員的時候,怎麼聊更好
呈現出自己完整的知識結構。對於程序員來說,最重要的一件事情就是在短短的面試過程中呈現出自己完整的知識結構。要想做到這一點,一定要在自我介紹的過程中下足功夫,既簡練又豐富,引起面試官的重視,當然最重要的是自然一點,別緊張。