『壹』 如何面試一名程序員
如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
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.技術問題:網路,bing,SCDN,請教前輩
先網路,網路是個好老師。
網路解決不了的再bing搜索一下,我遇到很多次都是在bing上找到的。
當搜索引擎搞不定的時候,這時候需要論壇了,去CSDN找找相關的技術貼,總會有點思路。
最後就是找公司的同事,這個有些時候需要花一些代價,畢竟大家都很忙。
2.邏輯問題:有些時候會遇到很惡心的邏輯
當想不明白或者想不通的時候,我會試著一步一步把邏輯寫在紙上,這樣就會很清晰,如果在某一步被卡住了,那麼問題的關鍵也找到了。當然有些時候或許一開始就走入了一個誤區,從而導致了一個錯誤的思路,這個時候我一般會睡上一會,或者做些完全和開發不相關的事,目的是忘記剛剛所有的東西,然後從新審視問題,換個角度去考慮。
(個人經驗,純手打!)
『叄』 闈㈣瘯紼嬪簭鍛樻椂,闈㈣瘯瀹橀棶,浣犺や負浣犵殑鎶鏈鎬庝箞鏍,璇ユ庝箞鍥炵瓟
涓鍥戒漢璁茬┒璋﹁櫄錛岃唉閫娿傛湁10鍒嗘湰浜嬪氨鍙闇5鍒嗐傗滀綆璋冪殑濂㈠崕鈥濇槸鏈濂界殑灞曠ず銆備婦鍑犱釜浣犳瘮杈冩垚鍔熷緱鎰忕殑妗堝瓙緇欏規柟錛屼簨瀹炶儨浜庨泟杈╋紝涓嶅繀榪囧氱殑璇璦鍘婚槓榪幫紝涔熶笉蹇呰棌鐫錛屾渶鍚庡憡璇夊規柟浣犵洰鍓嶆e湪鏀誨厠鍋氫粈涔堟堝瓙絳夛紝璁╁規柟鎰熷彈鍒頒綘鐨勮兘鍔涘拰榪涘彇蹇冦傛病鏈夐偅涓鍏鍙告兂瑕佺獫鍥婂簾錛屼絾鏄娌℃湁閭d釜棰嗗兼兂瑕佹竻楂樹笉灝婇噸浠栫殑涓嬪睘錛岃〃鐜頒綘鐨勮兘鍔涘拰鏈嶄粠鐨勬佸害鍚с
『肆』 程序員應該如何面試,程序員面試問什麼技術
3年以下的面試
面試主要看兩個方面:
一、通過溝通交流,一些簡單的問題,了解的你的邏輯思維,個人性格。
二、一些常用的技術是否了解,根據你的回答問幾個典型的問題。
這個階段面試技術並不是最重點的,主要還是邏輯思維是否敏捷,為人處事是否好相處,技術是可以培養的,基本帶一周就可以很好的幹活了。
3年以上就麻煩了
一、技術會問的很詳細,沒有扎實的功底,擋不住啊。
二、超過3年的招聘,一般都是有一定目的性的,比如需要搭建項目構架,或者需要專攻資料庫的,或者需要比較全能的技術大牛來解決問題,所以應該針對面試方的一些需求去准備。
以上都是瞎掰,看看就行了。