程序員應聘
『壹』 應聘一般程序員需要什麼條件
其實應聘一般的程序員也就是看你的技術水平,只要技術夠硬就可以了。
『貳』 程序員面試時,怎樣跟HR談薪水
1.在談判時想辦法增加自己的籌碼
也就是你在技術面試和管理者的面試過程中一定要表現比較好,這樣你就在HR面前得到較高的評級,這樣HR這能給你的幅度也會大些。這些都是要在面試之前進行充分的准備,如果你在面試的過程中是別人猶豫的對象,表現也就一般,能夠隨時找到能夠代替你的話,那麼HR一般情況下是不會對你進行讓步的。記得以前自己剛開始出來工作的時候,我面試一家公司時,HR直接用很強硬地語氣對我說「就這個價,你就值這個價」,我就是成為他們可以代替的對象。雖然說我脾氣較好,一般情況下比較理性,但是我也只能接受這個價位因為我沒有更好的選擇。
但在之後的面試過程中,經過我自己不斷的學習,我不在接受HR的價位,只接受我自己認為合理的價位。
2.在關鍵位置上要有自己人
這一點很重要,有自己人在你要面試的公司內部,你就可以獲得他們很多的情況,比如這次招聘是否緊急,公司內員工的能力,水平等等,什麼是坐地起價,就是別人沒有而你有的。有自己人在裡面,你才能知道有沒有其他比你合適的候選者,沒有的話,你才有資格坐地起價。
比方說一個公司找了好久都找不到一個合適的人,但項目已經迫在眉睫了,這個時候你出現了。但是你並不知道你是他們千辛萬苦找到的,他們不要你就有可能將項目至於風險中可能會有更大的損失,這個時候你是可以要一個比較高的價位的。但是如果沒有人告訴你這個狀態的話,你還是會從自身出發,可能覺得自己的表現並不算特別好,會患得患失,臉皮薄的話當然不敢獅子大開口(或者你不明白你為什麼在這個時候在這個公司值高價)。
如果沒有相關資訊了解對方公司內部對人員的需求情況的話,很多時候你靠的是運氣,就是看你前後的面試者(候選人)和你的性價比結果。如果那個時期,只有你一個候選人,那麼你的要求不過分,一般都可以滿足。當然,HR還是會打擊你一下壓壓價,別人的工作就是要控制人力成本嘛。所以你認為能力不如你的人工資卻比你高,一點也不奇怪,你們進入公司的時機不一樣。而且就算你認為對方水平不如你的,那隻是你個人的看法,他的水平可能真不如你,但在公司的層面,你們可能被劃分在同一級別。所以不要太在意,最好就不要去打聽。
3.知道自己想要什麼
一定要清楚自己想要什麼,這個公司能給自己什麼。如果這個公司能給的是自己未來需要的,那麼它的價值就遠遠高於它支付給你的薪資。要看清楚自己的價值在哪裡,工資最終會是你價值的體現!雖然你可能技術很厲害,但你的價值不一定就很高,能力和價值是兩個概念並不能直接劃等號。所以,你應該花時間發掘、培訓、增長、鞏固自己的價值,當你的價值足夠高時,自然有公司(或獵頭、風投、BOSS等)願意為你買單。你能解決他們的問題,他們當然樂意幫你解決你生活中關於錢的問題。
所以,不要光向錢看,要向自己的價值看。這一點很重要,在和HR談判時,不需要太在意自己的技術能力,哪怕前幾個階段表示不好,也把它忘了吧。這時你應該在意的是所應聘的職位能給公司創造的價值,通過這個價值和行業、地域的薪資水平來評估出自己的價值。然後再上浮點吧,這個點多大自己考慮吧。
『叄』 如何面試一名程序員
如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
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. 哪些途徑和方法可以發現這樣的人?
只有明確這些根本性的問題,才能正確高效地完成面試。
二、提問的原則
假定你對上一節的三個問題,已經有了清晰的想法,那麼接下來就可以設計如何提問了。
有一些提問的原則,是你應該遵循的:
每一個面試問題都有明確的目的。你不僅自己了解,還能向其他面試官解釋清楚。
多提一些開放性(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?
『伍』 程序員應該怎樣去面試
嗨,親愛的程序員朋友們,如果你是工作好幾年的人了,那麼你一定經歷過面試吧,今天我以個人的視角總結了一下怎麼才能有一次成功的面試,希望對你有所幫助。如果你已經開始看了,那麼你一定看完哦,只有有耐心的人兒才能成大事,如果看了一半,這篇文章對你來說是沒有任何收獲的,反而卻浪費了你寶貴的時間。
關於簡歷的製作
每個技術面試官每天要閱覽幾百甚至上千份簡歷,閱讀一封簡歷的時間可能不超過10秒,你的簡歷就是茫茫大海中的一滴水,如果能讓面試官從一大摞簡歷中選出你的簡歷,那麼就需要從簡歷製作上下功夫了。

各位可以仔細琢磨一下上面的幾種場景,有時沒有經歷過這種場景,可能沒法對上面的描述做到感同身受,看了之後就會一帶而過了,建議收藏此文,以後遇到類似情況了,可以把這篇文章找出來看看,相信會對你有所幫助,最後祝各位程序員朋友們都能找到自己心儀的工作!
大家好,我是「上世是朵花」。如果你有什麼好的看法或者觀點可以在評論區展現你的才華,互動交流,如果想進一步了解我,那就關注我吧。
『陸』 怎樣面試程序員的工作
首先在面試之前你要了解應聘崗位的相關信息:
公司規模及性質、公司業務范圍、你所應聘部門情況、工作性質、崗位培訓、企業文化。
一般情況下,了解一下公司概況、企業文化、自己應聘職位的特點、工作內容,需要應聘人員具有哪方面的素質及能力,面試中朝著所了解的去努力,應該就可以。如果想更好的分析自己的發展前景,可以更多的了解公司的規模、性質、開辦年月、做什麼產品項目、年營業額、成長幅度、人事制度、企業文化、在行業中的排名等等,了解的越多越好。除此之外,如果能夠了解公司的氛圍,對你准備合適的穿著和談吐也是十分有用的。
接著,准備一份專業的簡歷
一般在面試之前面試官都會先看你的簡歷,所以簡歷就是門面,簡歷的好壞,決定你是否有面試的機會。如果你想增加自己的入選機會,最好還是花點時間精心製作一份專業的簡歷。相較於你將來可能得到的巨大收獲,這真的只是一個小小的投資。
掌握計算機科學的基礎知識
在面試前,一定要先審視一下自身的基礎知識掌握程度,如果有必要,自己買書回來或者網上找一些資料,利用空餘時間系統的學習一遍,比如你所使用的語言本身,比如你擅長的框架底層實現,比如編譯原理,比如多線程的知識,比如Http相關的知識等等。千萬不要沒有一點點基礎知識儲備或者基礎知識儲備不豐富就跑去面試,失敗的幾率非常大,如果眼睜睜的看著自己心儀的工作機會擦肩而過,我想是誰都會難過的吧。
精心打扮自己
雖然第一印象並不一定能准確地判斷一個人,但大多數人還是喜歡憑借第一印象作出自己的判斷,負責招聘的主管人員也是如此。因此求職者在參加面試之前,一定要對自己的整體形象進行設計,爭取給用人單位留下好的第一印象。程序員面試不需要穿西裝,但是也不可太隨意,大方得體的服飾加上淡淡的妝容,就能給面試官留下一個好印象。
活力洋溢地回答問題
只用一個字或者一句話,照本宣科平平無奇地回答問題,或許在技術上是正確的,但是你忘了應該藉此機會好好展示自己的激情——這才是一個開發人員能帶給團隊的最大正能量。 舉個例子說,如果我問你什麼是多態性,我不是要你按照課本中的定義重復給我聽,我希望你能就這個主題闡述一下,然後我們可以更深入地聊一聊。
『柒』 作為HR你是如何面試程序員的
不是hr,但在面試程序員的時候,不管性格內向還是外向首先要積極向上,太消極的會對團隊造成很大影響。
『捌』 程序員面試要准備些什麼東西
技術方面的技巧
第一:ABC(Always Be Coding)。
一力降十惠,說的多不如做的多,所有工作都是這樣,程式也不例外。你寫過的程式越多,你的能力也就越高。但是,你必須做到有目的的程式,在寫程式之前做到心中有數,明白自己的短板並且加強訓練,堅持不懈的挑戰自己的極限,努力使自己在各方面都很優秀。我強烈建議你把自己做過的每個項目——不管是否完成——都整理成作品集,在這里推薦GitHub,非常專業的程式分享社區,你可以把自己的作品集放到這。
第二:精通至少一種多重範式程式語言。
精通一門諸如C++這樣的語言能讓你從根本上理解程式,因為這類語言風格多樣,如何寫程式完全取決於你自己的風格,你能在一種語言里體會到不同風格的程式在執行上的差別,同時要達到這樣的水平還需要大量的實戰與練習。而且這類語言通常在各個社區中也是最活躍的板塊,你可以很容易就找到志同道合的朋友來分享經驗。其他也支持多風格程式的語言還有C#、Java、PHP、Python及Ruby。
關於C++ 的題外話:有一個跟著名的面試題,許多面試官都喜歡問,是這樣:「如果把C++ 分為十個等級,1 為最低,10 為最高,你認為你自己處在哪一級?」希望上帝保佑那些回答9 或者10 的人,Bjarne Stroustrup 估計也只會給自己打到8 分甚至更低(此人為C++ 之父)。主要原因是這個語言經過這麼多年無數大能的不懈努力,已經超級復雜,被稱為主流設計語言中最復雜的一款也不為過。
第三:熟悉各種演算法的優劣。
先看看這份關於各種演算法的對比圖,確定都理解了之後,試著把這些演算法都用自己的方式寫一遍。這樣你就會對各種演算法有更深刻的理解。面試的時候這幾乎是必考題哦。
第四:熟悉所有常用函數。
你最好把所有的常用函數都用自己使用的語言寫一遍,不要依賴於現成的函數庫,這樣會加深你對各個函數以及語言本身的理解。試著快速寫出下列函數:向量(動態數組)、鍊表、堆棧、隊列、哈希映射、集合、優先順序隊列等等。
第五:要更務實。
臨時抱佛腳早就沒有用了,踏踏實實的打好基本功才是王道,花更多的時間去解決各種程式中遇到的問題,這里推薦多去TopCoder看看,那裡有很多不錯的資源。里邊有各種案例可供學習,試著學習里邊的思考方式來解決自己遇到的問題。我當初花了整整兩個禮拜在TopCoder上,到最後我都能閉著眼一隻手寫出迪科斯徹演算法,幾乎能解決所有的圖形問題。所做的不過是不斷重復程式。這可能是Google最終要我的原因之一吧。Eric Schmidt說:「重復從不青睞祈禱者。」
第六:程式是最簡單的。
這麼多年的工作經驗使我明白了一條,寫程式是一個工程師所有工作中最簡單明確的一部分。我常掛在嘴邊的一句話是:「簡單的就像寫段程式一樣。」我相信對於一個工程師來講,事前准備和事後維護才是更艱難的工作。比如說,你需要在程式前計劃好你需要寫什麼以及確保寫好的程式能順利運行。盡量讓面試官知道,你不是一個只懂寫程式的獃子。
需要注意地是,在別人面前寫程式可能會略為彆扭,最好提前做些這方面的練習,可以參考下我前任同事Dan寫的這篇《Whiteboarding》。
非技術方面的技巧
需要提前說明的是我在這方面並不專業,僅供參考而已。
第一:明白你為什麼選擇這個公司這分工作。
不管大公司還是小公司,還是極度飢渴的創業公司,都不會要一個連公司是乾嘛的都不知道的人,哪怕這個人技術牛到一塌糊塗也不行。
第二:一定要滿懷激情。
程序猿是一種沒有固定工作時間的動物,如果你只是想找一份朝九晚五、有固定工資、只在偶爾加加班的工作,你還是別乾這行的好,你一定要愛程式,不管什麼時間什麼地點,只要有需要,就能隨時投入工作。愛一行,乾一行,對於程式設計師來說尤其如此。
第三:不懂就問。
面試的時候如果碰到沒有聽明白的問題,一定不要不懂裝懂,我曾經見過有些面試的人花了老牛鼻子的勁去解決根本沒問過的問題,這不只是浪費你的時間,也是浪費我的時間。
第四:保持微笑。
所有面試寶典上都有這條,但是,不要做太過了,適當的微笑能產生很大的效果。我有時候會在面試完一個人後特別受打擊,但是下一個面試者簡單而真誠的微笑能讓我一下子心情好起來。
參考自:David Byttow是一名程式設計師,曾在Google和Square等公司工作過
『玖』 程序員面試要注意哪些面試成功後有哪些最基本的待遇
孫子兵法曰:「知己知彼,百戰不殆。」倘若掌握了以下八種招式,你將如天馬行空一般馳騁於各種職場之中。一般來講,你的「假想敵」——面試官分為以下幾種表現形式:1.性格外向型:充滿活力;善談;肢體語言豐富;賦有感染力;表裡如一,想到什麼就說什麼。2.性格內向型:外表冷竣,不喜形於色;不善言談;幾乎無任何肢體語言;喜歡沉思默想,而後出言表達。3.性格感應型:語言簡潔精煉,直述其意;無想像力,求實際,重事實。4.性格直覺型:談話高深莫測;喜用修辭和成語;無論其談吐和表情都給人以模糊,含混的感覺。5.貌如思想家型:富有嚴密的邏輯思維能力;善用分析和推理;性格墩厚。6.敏感試探型:友好,溫和;善解人意,富有同情心;善用外交手腕,處事圓滑。7.貌如審判官型:非常嚴肅和冷靜;具有決定性和組織的權威之感;凌駕於你的IQ和EQ之上,任意判斷,獨斷專行。8、貌如觀察家型:喜頑皮,善用游戲等方式測試候選人;好奇心強;想法隨意,大有天馬行空之式。「來而不往非禮也」一般說來,你也可以有以下八種招式曉之以情,還之以禮:1.順從傾聽式:(針對第一種性格外向型「假想敵」)隨他們去說,你只要做個好聽眾,面帶微笑,頻頻點頭,心領神會;時而溫和平靜,時而大笑,時而作驚訝狀,時而作陶醉狀,一言以蔽之要變化多端。2.溫和提問式:(針對第二種性格內向型「假想敵」)時而提問,時而傾聽;不要打斷他的談話,要有耐心,給他時間去沉思默想。3.直截了當式:(針對第三種性格感應型「假想敵」)直接切入正題;問一句答一句,有理有據,不要誇誇其談;直接闡述你的實際工作經驗,最好引述一兩例成功案例。4.假裝領悟式:(針對第四種性格直覺型「假想敵」)盡力保持談話不要間斷,亦可以引用成語和典故;要表現出你的創造性和古靈精怪的思維;強調你已經領悟了他高深莫測的寓意。5.以毒攻毒式:(針對第五種貌如思想家型「假想敵」)回答問題時,你也要邏輯嚴密;與他的觀點和立身之道保持一致;表現出你也是公正無私、墩厚之人。6.善解人意式:(針對第六種敏感試探型「假想敵」)要溫和,平穩;表現出你的熱情助人行為,以及你的通情達理和為他人著想的美德;表現出你是如何協調組織和善於溝通不同人之間關系的能力;7.被馴服式:(針對第七種貌如審判官型「假想敵」)要有充分准備,作乖乖狀且隨機應變;謙虛謹慎,多向他徵求意見;服從組織安排,要有「黨叫幹啥就幹啥」的精神。8.期待響應式:(針對第八種貌如觀察家型「假想敵」)要熱情響應他的任何提議,積極參與協助對你的各種測試;時刻期待著回答他對你提出的各種問題,但要有選擇性地回答;不要勉強做出評價和表達自己的意思。
『拾』 如何應聘程序員
具備以下能力:
1、版本控制系統(VCS)
VCS也許是計算機課程最大的疏漏。這些課程光記得教如何寫代碼,但卻往往忘記教學生如何去管理代碼。而每一個程序員都應該懂得利用Git或Subversion有效地創建repository(倉庫)、編輯與提交代碼、進行分支與合並、了解項目工作流。
2、寫作
身為程序員要寫的不只有代碼。你還要撰寫項目的發布說明,給版本控制寫提交消息,在系統裡面編寫漏洞報告。這些和許多地方都需要清晰有效的文字表達——但這個技能計算機科學卻很少強調。
3、正則表達式
正則表達式本身就是一門語言,每一個現代程序員都需要熟練掌握。每一門現代語言都支持正則表達式或者有相關標准庫。如果代碼需要校驗某字元串是否含有5個字元、1個破折號和1個數字,應該馬上就能寫出 /^[A-Z]{5}-\d$/。
4、庫的使用
現在已經是2014年,沒人需要用正則表達式從URL析取主機名。因為每一門現代編程語言都有執行常用功能的標准庫。程序員需要明白,那些經過開發、測試和調試的代碼通常要比自己重新寫的代碼更好。更重要的是,無需編寫的代碼實現起來要快得多。
5、SQL
很多程序員的SQL竟然是在工作中學會的。把數據存進平面文件的時代已經結束了。一切東西都要進出資料庫,而SQL則是存取數據的語言。這是一門說明性語言,不是程序語言,所以用它來解決問題時需要新的思考方式。每一個程序員都應該了解資料庫標准化基礎,能夠執行SELECT(及INNER、OUTER JOIN)、INSERT、UPDATE和DELETE。
6、IDE、編輯器及CLI工具
只懂用鋸子的木匠永遠也無法出師,所以計算機專業畢業的人只懂Notepad或pico的話實在令人驚詫。編程工具幫助操縱代碼及其他數據,令程序員生活變得容易。所以每一個程序員都應該知道命令行、shell腳本、find、grep及sed的使用。
7、調試
每一個程序員都應該知道利用互動式調試器或在代碼中點綴一些輸出語句來調試程序。通過逐步求精來跟蹤問題的能力實在是太重要了。
8、防錯性編程
錯誤總是難免的,哪怕是明星程序員也不例外。失控是世界的常態,出錯毫不奇怪。防錯性編程正是理解了這個事實。如果東西不會出錯,我們就不會檢查文件打開成功與否,不會檢查客戶ID是否合法數字,不用測試代碼是否允許正確。程序員需要知道,編譯器告警是有用的工具,可讓生活得更舒適,而不是要避而遠之的麻煩事。每一個程序員都應該知道為什麼每一個PHP程序都要這樣開頭:seterrorreporting,為什麼每一個Perl程序都要寫上這些語句:use strict; use warnings;。
9、團隊協作
很少有編程工作會讓你自己一個人完成,如果經常這么做,智力會受損,表現會變弱。你的代碼必須與別人的交互或者混合。再有才的程序員,如果無法與別人協作,都會給項目造成負面影響,並迅速成為團隊的負擔。
10、利用現有代碼
在學校的時候,每一次作業都是一個新項目,但實際工作不是這樣的。對於剛工作的人來說,所接到的第一項任務往往是修改代碼漏洞。然後,再在現有代碼庫的基礎上為現有系統增加一個小功能。設計新代碼那是幾個月後的事情,如果幸運的話。所以作為程序員的第一步,需要學會利用現有的代碼。