㈠ 如何辨別一個程序員水平的高低
1.自己介紹項目,看對項目的提煉總結能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技術深度;
3.設計模式提問,看有沒有學習方法;
4.語法基礎問題,多線,分布,安全等問題,看知識面廣度;
5.智力問題,看反應能力,分析問題思路等
上述五步基本可知是否是一個好程序猿
計科專業從事軟體開發十幾年了,主要在瀏覽器內核領域研究的比較多,最近在研究伺服器後台方向,辨別程序員水平高低主要看做出了什麼產品,如同現在的程序員主要是項目經驗,簡歷上寫的一堆項目經驗都是面試的時候主要提及的問題。經常在面試中會問兩個關鍵點:一個是做過什麼項目;一個是在項目組中承擔什麼職務,畢竟參與過和做的多少程度是不一樣的,這些都是可以通過一些具體的細節檢測出來,問題越具體越是容易看出水準,具體的東西不是能夠編造出來的。
有很多技術公司直接不通過筆試,僅僅通過簡單的面試就確定工資水準了,最簡單的測試程序員水平的直接用筆試的方式,筆試可以把一些細節量化,盡量的細節化也是能測試出程序員基本功的,但這種基本用來測試初級程序員的,很多高級的程序員看到有筆試直接就抬腿走人了,因為有些程序員在一個方向做的時間太長了,很多基本功都忘得差不多了,所以筆試可能不過關,現實中很多程序員筆試不過關,面試還可以,也一樣可以做項目說的就是這類人,起碼這算是非常優秀的程序員。
有很多公司採用谷歌的方式,直接採用上機寫代碼的方式檢驗程序員水平,這種方式比較直接,但在現實中可能消耗的時間以及面試官的精力,目前只有極少數的公司用這種方式,國外的公司用這種方式比較多,這種看基本功非常有效。通過代碼可以看到編碼習慣以及演算法的設計上,都能直接看的出來。
普通的程序員直接看項目的經驗,高級的直接看做過的產品,特別是產品主要設計人員,這就是程序員內心的自豪感,畢竟作為一個程序員起碼要有自己設計開發的產品,也算是不白做一個程序員,在程序員的職業經歷中如果能經歷過一個產品從開始設計的初稿到最後推向市場,如果是完整的經歷,將是一種巨大的財富,只要經歷過一次都會對產品設計有一個比較層次的認識,這種能力需要靠直接的面試語言表達來展示出來,談下對產品的認識以及產品穩定性性能等方面的總結,能到這個層面起碼是高級軟體工程師的級別。
當然有些程序員內在的東西不是靠語言或者寫代碼看出來的,因為一個優秀的程序員不僅僅是代碼能力以及框架能力,還有幾個非常重要的能力
程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。
希望能夠幫到你。
自認為不是一個好的面試官,因為我認為在這么短的時間內,准確地衡量出來程序員水平的高低是有比較大的難度的,並且我有多次看走眼的時候,面試的時候覺得能力還不錯,但是入職工作了一段時間之後,編程能力不忍直視。
工作之後接觸一段時間,我會從這么幾個方面觀察他們,以判斷技術能力的高低和發展潛力。
能不能出活兒、能不能debug
能不能把開發任務按時按質量地完成,當然是最主要的衡量標准了:
解決問題的方法
在開發過程中,難免會遇到沒有見過的問題,有些程序員遇到問題無從下手,而優秀的程序員,自有一套解決問題的方法。
分析問題、流程設計的思路
有人會認為,程序員的主要工作就是敲代碼,上班大部分時候都是在敲代碼,其實並不是這樣:
總結問題和改進問題的能力
好的程序員,相同的問題不會犯第二次,差的程序員,總會在一個問題上栽跟頭:
我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
不請自來,一介碼農路過,留下些看法。
程序員主要是有四種綜合能力,也就是debug 能力、 performance分析、 保護性編程和 投入產出比。
僅僅獨立完成日後必然成高手?在這里不能說一棒子打死,至少對於很多人來說,能獨立完成是沒什麼問題的,有的是因為對業務熟悉,有的是真的基礎扎實。但怎麼說呢,程序員和瀏覽器打交道是最多的,現在這個互聯網時代,遇到的大部分問題網路都是可以解決的,也就是普通程序員 + 網路 = 超級程序員。 但很多人也沒明白具體的原理,甚至都是這個項目抄抄那個項目抄抄的,久而久之雖然解決了平時的業務,但進步的空間卻很少,甚至止步不前,寫出來的代碼也可能存在很多坑,所以,僅僅能獨立完成任務的話,離高手還有比較遠的一段距離。
如何辨別高手程序員?也就是結合我們一開始列舉的那四個能力進行判斷。不同級別的程序員,在那綜合能力面前,強弱也是不同的。例如在奔潰的或者其他性能調優問題上,即使是面對大量復雜的代碼,在信息不全的時候也會一步步的分析,抽絲剝繭縮小范圍,最終定位根本原因
,並且最終給出一個好的方案。
如何成為高手程序員?
當然還有看他摘了帽子是否禿頂這樣的笑話,就再不贅述了。
第一階段(黃金):會用編程語言實現需求,比如現在的業務系統,都會找一些會搬代碼的人來拼工作量,也就是能自己獨立基於搭好的框架實現crud常規操作。
第二階段(鉑金):除了crud,還會有一些自己踩過坑的經驗,知道如何處理一些常見問題,或者可以基於搜索引擎快速解決一些異常情況。
第三階段(鑽石):能解決一些疑難雜症和會通過debug部分源碼類庫查看到這些疑難雜症是如何引發的,並通過編碼解決這些問題,還能進行一些局部的性能優化,類似某個系統介面緩慢可以單獨去優化。
第四階段(星耀):會基於整個系統進行設計和規劃,根據業務特性選擇合適的框架,從源頭控制開發遇到問題的頻率,可以自主的搭建框架並完善機制,了解各個組件工作原理。
第五階段(王者):小說裡面總是說練武功的永遠比不過創造武功的,同樣的道理,用框架的也往往不如寫框架的,所以寫框架的這類人單獨分層。
第六階段(榮耀):其實這個階段不應該列入進來,因為這類人往往不編碼的,只是給出思想;像Hadoop這種框架就是基於人家發表的一些論文(bigdata)進行編碼實現的,這類人注重的是思想和演算法,區塊鏈,大數據,雲計算等等概念的創造和理論的支撐是這類人提出來的,這些人才是真正影響行業走向的人。
程序員的水平高低,不是靠語言或外在表現就能看出來的,不是看他會多少技術、參加過多少項目、寫了多少博客,而是看他在實際業務場景中解決問題的能力,尤其是面對一些特別復雜的問題,或在高強度、高壓工作狀態下解決問題的能力與態度。
技術可以通過學習掌握,但是解決問題、定位問題的能力卻不是一蹴而就。大家可能會說,「解決問題的能力」這個太寬泛了吧,可以更具象化嗎,有具體的測量方法嗎?簡單整理了以下幾點供參考。
會寫出滿足需求的代碼,早就不是評判程序員水平的標准了。代碼編寫既要滿足業務需求,同時還要考慮後續的軟體維護,說得通俗些,既要自己爽,也要別人爽。一個優秀的程序員,會致力於寫出更簡單、更效率、可讀性強、擴展性強的程序代碼。
程序員在日常工作中,需要理解各式各樣的業務需求,所以這就需要程序員具備一定的邏輯思維能力。可以說,邏輯思維是程序員的靈魂,因為每一行代碼都是程序員邏輯的體現。
項目著急上線,發布時出現問題?
業務高峰時段,系統宕機了?
業務催、運營催、用戶催、老闆催!
各種形態的bug,各種著急的心情,背後無數支眼睛盯得內心慌慌......
這些都是一位合格程序員所需要面對的日常。不同的程序員,在解決問題的方法、效率、質量等方面,都各有千秋。一個經驗豐富的程序員,能夠扛住各方壓力,在復雜條件下找到核心問題,通過抽絲剝繭的分析來找到產生問題的原因,並快速進行應對處理,事後及時復盤總結,減少同類問題出現的概率。
隨之互聯網的發展,越來越多的人湧入程序員這個賽道,競爭日益激烈,加之新技術層出不窮,更新迭代快,程序員所使用的語言、框架、模式都會發生天翻地覆的變化。如果不主動學習,你很快就會被落伍淘汰。
這種其實在面試過程中能體現出來,溝通主要是技術溝通,以及和客戶之間的溝通,所有技術都不是閉門造車就能搞定的,溝通能讓事情推進起來更加順暢,包括和產品經理之間的流暢的溝通也顯得非常重要。程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。
線上出bug了,第一時間響應、處理;
團隊項目進度緊張、人手緊缺,主動補位;
又或者,在項目推進過程中如果只是關心自己模塊內容,對於整個項目置之不理,只守著自己的一畝三分地。
隨著時間軸的拉長,你會發現,有此f技術能力不是最好的,甚至不如你的小夥伴,最後做到了技術主管或經理、甚至更高職位,這裡面除了技術實力,還有一個叫「責任心」的東西。
結束語
判斷一個程序員的水平高低,核心是其解決問題的能力,而解決問題的能力養成,需要扎實的底層基礎來支撐,要綜合其代碼質量、項目經驗、框架能力、邏輯思維等等多方面,不能單看某一方面。
而對於1-6歲的程序員來說,想要成為一個高級程序員,變得越來越優秀,唯有持之以恆去學習、積累、實踐、修煉。
----end----
一:50歲的時候,頭發還是黑色的濃密的。
二:賺到的錢能保證家人快樂的生活。
三:當公司不要你的時候能成功轉型。
其他的例如編程經驗、寫代碼厲害啊什麼的根本不值一提。
這就是程序員的面試嘛 :-)
(1)是否能熟練使用所用編程語言的主要功能;
(2)是否知道用合適的數據結構解決問題;
(3)是否知道基本的演算法,並且用這些演算法解決問題;
(4)只看少量代碼的話,從變數命名和程序結構一般能夠判斷是否是新手;
(5)給出具體問題,能夠用程序解決,能考慮到所有的邊界條件;
(6)考慮程序的可擴展性,可維護性;
再往高一點走,就需要
(7)面對模糊的問題能夠分析並且找到細節和具體的需求;
(8)知道利用已有的庫,架構和工具等來解決新的問題,而不是什麼都自己實現;
(9)能發現並改進已有程序中的瓶頸;
(10)對整個大項目的程序架構有很清晰的了解,知道相互之間的依賴,以及知道為什麼採用這樣就架構;
(11)給一個大的項目,能夠對整個項目的程序架構和組件進行合理的設計,考慮並行性,低延遲,大數據量等各種需求和應對方式。
帶領團隊已多年,項目數十個,對判別程序員水平的高低,我有自己的看法,歡迎大家一起交流。
1.代碼質量。
優質的代碼,首先是經得起考驗。靜態分析工具過一遍,無錯誤,無警告。當然警告部分需要人工重審,因為靜態分析工具不一定完全正確。過了這一關,重要的還須過測試關,少Bug或無Bug的代碼,才是好代碼。優質的代碼帶有技術氣質和藝術氣質。閱讀起來,有一種賞心悅目的快感,即工整美觀,干凈利落,又蘊含著理論常識,運用技巧,精準到位。
2.表達能力。
3.文檔能力。
文檔形式包括但不限於PPT,文字,圖表,音視頻。文檔內容包括但不限於API說明,工具手冊,項目事項,技術論述,陷阱總結,方案展示,指導手冊。文檔要求必須是滿足公司或部門的規范和格式,否則五花八門的,不利於交流和傳承。
以上3點,是我量化判斷程序員水平的標准,僅供參考。相比水平,其實我更看重程序員的態度,執行力,時間觀念,自學力等等,也是很重要的團隊作戰能力,也可以說是程序員水平的考量吧。
謝謝大家。
㈡ 滴滴程序員的100fintechstar是什麼級別
滴滴程序員的100fintechstar是滴滴程序員的一個技能評價標准,它是一個非常高端的、全面的、專業的技能評價標准,洞漏它有5個級別,分別是:1級別,也就是基礎初級納擾爛程序員;2級別,也就是中級程序員;3級別,也就是高級程序員;4級別,也就是技術專家;5級別,也就是技術大師。這5個級別的評價標準是由滴滴程序員技術團隊經過精心設計和調整,以更好地滿足技術李賀人員的需求。從1級到5級,技能水平逐級提升,專業技能也越來越強,滿足不同程序員的需求。
㈢ 如何成為一名合格的程序員
很多人想要成為程序員,在學習編程的過程中,面對各種bug和源源不斷的問題,有時會對自己是否適合編程這一問題產生困擾。
作為一名教授全棧Web開發的教育工作者,我已經帶領很多新手成為了程序員。好消息是,我發現沒有任何人是不能學習編程的。我把它看作是一種基本的人類技能,就像閱讀、寫作和算術一樣,任何人都可以做到。它是我們人類能力的一部分,只是需要學習。
在過去的幾年的教學中,我目睹了不同的學生在學習過程中的斗爭,以及在他們的掙扎中出現的一些共同問題。
下面的列表將幫助你了解你是否喜歡編程
1、缺乏好奇心
如果你對計算機是如何工作的缺乏好奇心,那麼,作為一個程序員,你將永遠不會成功。
學習的一個基本要求是對你所學的東西有積極的興趣。如果你沒有一個對技術好奇的頭腦,你就沒有精力去堅持學習要成為一個成功的程序員所需要的廣博而深入的知識。相比之下,技術的世界就像一個巨大的海洋,裡面充滿了各種有趣的領域、相互聯系的思想和各種可能,它們可以激發人們的想像力。想要潛入這片海洋並發現你所能發現的一切,需要內在的動力。
找到你的好奇心:問問你自己,編程是否真的讓你感興趣?如果沒有興趣,去找你感興趣的東西,以節省時間和精力。但是如果你的答案是感興趣,那麼就強迫自鄭襪己去發現一些你以前沒有注意到的新事物,認識到浩瀚的技術海洋,再往下潛一點。
2、缺乏自主性
如果你不培養自己解決問題的能力,你就永遠不會成為一個成功的程序員。
毫無疑問,要成為一個成功的開發人員,你必須對自己的學習能力充滿信心。這實際上是一項基本的生活技能,如果你年滿18歲,沒有人有義務教你任何東西。這就是現實。當你想學習技術所需的技能時,首先要學會的是,在谷歌中輸入你想要的任何東西並獲取你需要的信息。除此之外,所有編程語言都有文檔和規范,這些文檔和規范對語言的工作方式解釋的非常清楚,它們就像字典一樣。作為一個程序員,最快速、最可靠的學習方法就是簡單地閱讀這些文檔。
當你有問題的時候,在問別人答案和查閱官方文檔之前,強迫自己先搜索一下,節省別人的時間。
3、面對問題缺乏毅力
如果你在遇到問題時輕易放棄,作為一個程序員,你將永遠不會成功。
編程的本質是解決問題,這也是計算機產生的全部原因!每當你開始編寫一個程序時,你總是會遇到一大堆問題。一旦你解決了一個問題,那麼幾乎總是有另一個問題在後面等著你。你在進步,但總是會有新的問題要面對。
這堆問題會讓人望而生畏,令人感到沮喪。如果你覺得程序應該「能用就好」,那麼你就沒有精力堅持下去,因為問題還在繼續出現,它們會一點一點地擊潰你的情緒和決心。從字面上來說,你的工作就是找出程序為什麼不能跑起來。
從我在授課上的經驗來看,通常每個班都有一兩個學生,和其他學生相比,他們似乎更容易遇到更多的問題——通常是非常隨機和模糊的問題。我提醒學生,他們面對的問題越多,學習越深入、越徹底的可能性就越大。如果他們能通過這些問題獲得深刻的理解,他們會很快發現他們變得更加自信了,因為他們面對和解決的問題比普通學生多。
你需要認識到,問題不僅僅只是問題,它實際上也是挑戰。你所面臨和克服的每一個挑戰都能讓你更深入地理解技術,更好地面對新的挑戰,並迅速解決舊的挑戰。
4、解決問題之後沒有成就感
如果你在解決一個問題後沒有興奮感和成就感,作為一個程序員,你將永遠不會成功。
與上一個問題相關的是,你成功地解決了一個問題,卻缺乏「良好的感覺」。當修復bug和問題變成了一個永遠不會結束的事情時,你會失去與克服問題的動力。
當你解決一個問題時,你需要的是多巴胺的釋放。這類似於在電子游戲中完成了一個關卡,或者解決了一個像縱橫字謎或數獨這樣的挑戰。我們都知道,堅持通過一項挑戰,然後最終贏得比賽,一般都會有成就感和興奮感。但是如果你失去了感受這些快樂的能力,或者從一開始就沒有真正有過這些感受,你將無法體驗到編程帶來的快樂。如果你把編程看作是一種磨礪,你只想盡可能容易地得到結果,那麼你永遠不會真正成為一個成功的程序員。
無論何時,當你解決了一個一直在努力解決的問題時,無論這個問題多麼微小,你總是為你的成就感到驕傲。你需要休息一下,祝賀你自己完成了一項出色的工作,讓成功的感覺滲透進你的心裡,為你即將面臨的下一個問題注入活力。
5、無法獨立思考
如果你期望別人為你著想,並且主動看到你自己所在的處境喊純激的細節,你將永遠不會成為一個真正成功的褲脊程序員。
當你在學習新的東西時,很容易感到缺乏知識和經驗,並沒有自己的觀點。主動做事或者說錯話似乎是有風險的。對於錯誤,我們的內心都有一種恐懼感。當對錯誤的恐懼抑制了你的探索和好奇心時,你會扼殺開發真正知識、從經驗中獲得的知識和「失敗」的能力。當你需要依靠「權威」的觀點、一個受歡迎的博客、一個最佳實踐或「教科書」的答案時,那麼你就沒有真正地整合編程的知識。你需要對什麼有效,什麼無效形成自己的觀點。你需要理解為什麼你認為你的解決方案有效,以及使用這個方案有什麼好處。你需要建立一個微妙的視角,超越那些顯而易見的東西。你需要能夠「證實」你的立場。
為自己著想。通過你的經驗和批判性思維技巧,發展出你自己的思想體系。做出合理的猜測,堅定立場,並願意隨著新信息的出現而改變立場。
6、僵化、狹隘、混亂的思維
如果你的思維僵化,並且難以保持代碼的條理化,那麼你將永遠無法成為一名真正成功的程序員。
我有時在學生中看到兩個極端。第一種是僵化和狹隘的思維方式。擁有這種態度的人拒絕幫助,盡管會有反饋,但不會有改變。他們看事情只從一個角度看,別人給的建議被忽略。
我看到的第二個極端是思維混亂。學生們似乎使事情變得更加復雜,他們的代碼雜亂無章,難以理解。他們過度思考問題,寫100行代碼,而其中只有10行是有用的。
當這兩種心態結合在一起時,結果就是一種用蠻力的方法去設計程序。我們需要的是回顧解決方案,重新評估它,放棄最初的方法,並重新組織方法。
無法看到其他可能性或無法反思反饋會抑製成長的能力。思維雜亂無章會減慢你的成長速度,阻止你看到那些原本顯而易見的模式。你的工作質量也會下降。
自我反省。你需要退後一步,看看你是接觸的事物的大局是什麼樣子的。你要怎樣才能做得更好?你能做些什麼讓你的生活更輕松嗎?你需要什麼來幫助你?
7、需要「正確」的答案,而不是識別一系列「好」和「壞」的答案的方法
如果你認為編程的最終目標是找到正確的解決方案,而不是一系列解決方案,那麼作為一個程序員,你將永遠不會真正成功。
當開始學習技能或編程時,學生往往想知道他們所做的是否「正確」,而答案總是「視情況而定」。
計算機科學是一門評估權衡的科學。在不同的環境下,哪條路更好,這完全取決於所處的環境和目標。當你把編程看作是一個有正確答案或錯誤答案的測試時,你就失去了對全局的認識,放棄了你的創造力。任何答案都可以是「正確的」,前提是你能根據具體情況證明這一點。現實情況是,編程更像是寫詩或寫短篇小說(如果程序很大,則可能是小說)。在你的代碼中可以看到一種美學和美麗,這些東西有時只有你和其他程序員能夠識別出來。你決定解決方案的原因,以及你對答案的設想,比「正確的方式」或「錯誤的方式」更重要。擁有一個藝術家的頭腦可以讓你編的程序具有選擇和可能性,而不是認為只有一種處理方式。這就是編程的美——有很多方法可以解決問題,考慮不同的可能性,然後決定哪種方法最適合當前的情況。
創造性很重要。你要認識到,解決問題的方法有很多種,通過經驗和積累,你會對哪些解決方案比其他解決方案感覺更好產生細微的理解。縱觀全局,想像不同的可能性,相信你的直覺,你會得到更滿意、更好的解決方案
如果你對學習編程感興趣,我鼓勵你開始這段旅程。記住提到的七條,並開始學習、探索在線資源,這些資源可以讓你快速學習。你不會後悔的!
合格程序員,對於一種計算機程序設計語言,我們將其分為語法、語義、語用三個層面。僅僅掌握語法是不夠的,不算學好。但是很多人,在履歷上寫自己掌握(甚至精通)了某種語言,其實就是解了語法,會寫簡單的程序而已。這就是為什麼我們行業特別不喜歡「精通」這個詞的原因。
現代軟體開發,規模都比較大,不是寫個HelloWorld那麼簡單,也不可能每個項目每件事都從頭開始造輪子,我們都是站在前輩、同行們的肩膀上工作的。也就是說,語言之外,還有「庫」這個東西需要掌握,不然就寸步難行。庫有語言級別支持的BuildIn的庫,比如JAVA裡面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更豐富的還有第三方提供的庫,比如JDBC、Servlet、EJB的implementations等等。這些東西掌握了,幹活兒才可能得心應手,不然寸步難行。
比Libaray更高層一些的,是Framework。框架的作用在於,將某一方面開發的BestPractices搞到一起,給你提供一個更易用的、不關注底層的腳手架。比如做企業應用的,SpringFramework是標配了;訪問數據,Hibernate或者MyBatis也離不開,很少直接用JDBC去幹活的了;做WEB的,各種MVCFramework起碼得掌握一兩個(springmvcorstruts2?);做網路的,Netty,MINA怎麼也得掌握一個......總而言之,框架是繞不過去的一個門檻。
然後呢,就是環境、輔助工具。應用伺服器,怎麼也得會調試配置那麼兩個吧。TOMCAT是入門標配,JBOSS,WEBLOGIC之類,起碼要弄得跑得起來;針對不同應用場景,還要會選擇。開發/管理工具,ECLIPSE是標配、GIT和SVN起碼要搞熟一款;其它比如單元測試工具、Build工具、測試覆蓋率、CodeReview這些插件...也得知道怎麼用。
最後,通用的,計算機科學的基礎,不說多扎實,至少不能一竅不通。說起來就那幾大件,操作系統、數據結構&演算法、編譯原理、體系結構。要懂一點點,你才知道你編的程序是怎麼run起來的,哪兒可能存在效率問題性能瓶頸,除了問題知道怎麼debug。如果僅僅把計算機當作一個黑盒子,那也不算學好了。
最最後,還有一樣,就是你要訓練一下,快速理解領域知識的能力。你參與做一個項目,你懂的只是上面這些專業知識,但並不懂客戶的行業知識。如何盡快地理解業務,並用你手頭的工具實現業務邏輯,這點對程序員而言是非常重要的,否則你做的東西客戶總不滿意,GET不到重點,很麻煩。
我覺得這是一個合格的程序員的基本要求。你看,我並沒要求你懂需求工程、懂項目管理、懂架構設計、懂很多演算法、模式,甚至更深的專業知識。
㈣ HR怎麼通過簡歷來判斷程序員是否優秀
01.簡歷中項目的參與度、貢獻度
簡歷本身的效用信息往往非常局限,看了簡歷之後,也難以形成對候選人的初步判斷。但我們其實可以通過項目經歷上的信息,來評估候選是否完整、深入參與其中。
在候選人簡歷的項目板塊,我們可以查找是否有以下關鍵信息:本人在項目中的角色?比如後台系統開發,主導搭建了頁面框架,提高代碼質量;公共組建的提取、編寫。解決了什麼樣的問題?比如通過自動化,讓代碼易於管理;統一的編碼規范,更有利於多人合作,降低了代碼出錯率;性能上帶來多少提升?比如單頁應用讓請求次數變少、頁面呈現更快,用戶體驗更好了。通過以上信息,我們基本上可以判斷候選人在項目中的角色,或者從解決的結果來看能基本評估出候選人在整個項目中的貢獻度。
另外一種是簡歷上的項目闡述,可以通過以下兩個例子對比:例子一:A:應用 xx 技術,解決了XXXB:應用 xx 技術,解決了XXX,出錯率降低了 0.1% 等。例子二:A:結合使用 xx,實現了 app 登錄和個人資料的自動填充B:結合使用 xx,實現了 app 登錄和個人資料的自動填充,提高了多少的轉化率我們可以直觀看出,有量化的結果的項目履歷更有說服力,也可以側面證明候選人是有深度參與到項目中,才能對數據結果有一定的了解。
02.候選人在技術社區的使用情況
很多優秀的技術人才都有分享的習慣,比如在GitHub、知乎等社區都會分享一些自己的技術經驗貼。通常來講,如果候選人有在社區發帖的習慣,確實會增色不少。比如全球最大的開源社區GitHub,大多數程序員都會有賬號,但這個只能算是真正的「圈內人」,如果是GitHub的重度用戶,其實非常亮眼的:如候選人在GitHub發布的項目經常能收獲很多follower和star,那正是其能力的體現,可以通過其貢獻的項目來評估;如果能長期堅持使用GitHub,也能說明的是這個人心態比較開放,對業界比較關注、律己、有耐心;GitHub上大多數代碼是經過長時間構思和反復修改重構,代碼質量可以很好反映其當前的Code水平,其中也可以窺見解決問題的能力。
經常在技術社區發帖互動,可以說是判斷是否為優秀技術程序員的加分項,但也只能是敲門磚,不能過份強調它的重要性。
03.通過代碼筆試,直擊簡歷
要看能力最終還是應該考查編碼能力。面試官或HR其實可以通過一場在線筆試,在簡歷初篩階段來進一步判斷是否為大牛。
面試官可以設置一些耗時較短,考察具體硬技能的題目,來考察候選人的基本功,將簡歷造假的同學篩掉,在ShowMeBug筆試平台,支持不同職級、不同語言、不同維度等題目,面試官可以快速發一起一場筆試,可以節省面試官大量的時間;
對於簡歷中的項目,其實可以設計一個非常真實的問題,比如你目前有獨立設計實現過一個完整的功能嗎?你研發的這個功能產生了什麼作用,你在項目中扮演一個什麼角色?ShowMeBug筆試支持音視頻題型,面試官可以量身設計,讓候選人更加真實的回答。
㈤ 一個四年的程序員,一般工資在多少合適
最重要的幾個因素,城市、學歷、能力、行業
北上廣深一線城市,四年實打實,至少18k起步。
省會等二線城市至少10k起步。
如果能力有限,通常8折。
學歷非特殊崗位,一般前幾年差距不大,後期發展需要學歷,
最後最重要的就是行業,沒有上限。程序員也有很多種類。熱門的至少翻倍,例如大數據,人工智慧。
個人觀點。
這幾年我面試了很多不同水平的程序員,按照面試經歷來總結:一個四年的程序員,工資差異會很明顯。
一般我們招聘新員工,會通過多個招聘平台進行,很多時候會通過篩選條件進行搜索,比如工作年限、學歷、專業、工作意向等方面。
所以,這就造成了一個現象就是,一小部分程序員會把自己的工作年限設置的很長,當我們面試結束後,問他你有xx年的工作年限,水平應該會比現在更優秀吧?
他們的回答一般就是,算上實習期什麼的,差不多xx年工作經驗了;還有的會說我中間做過其他的方向,對現在這一塊不熟;也有的說,之前的公司產品做得不夠深入,我沒學到什麼,等等。
所以,我們在最後挑選准員工的時候,會根據他筆試和面試的成績綜合給出一個比較合理的價格,而不是由他的工作年限決定具體工資的檔位;另外會在實習期結束時,根據他實際的工作能力和績效對其工資檔位做調整。
當然了,一般真正工作4年的人,自己的簡歷中99.99%不會少於4年的。
還要看公司
通過我經歷的幾個公司來看,不同的公司、甚至不同的集團部門之間,對於水平差不多的兩個人,工資可能也有一些差別。
主要從以下幾點產生了區別
1. 職位緊缺程度,越是這個時間段著急招人的崗位,工資就會稍微高一些,反之亦然;但是一般大一些的公司規整制度比較完善,差別一般會很小, 除非你特別優秀 ,反之亦然。
2. 面試者當時的自信程度,一是足夠的自信使得面試官認為你很優秀,二是足夠自信要出高價;
3. 面試官的知識水平和深度,這個也是一個影響面試者未來的因素;
4. 最後決策的人的感覺,其實面試招人這個事情,除了筆試之外,很大的因素是由於面試官覺得你很好而已,畢竟今後要在一起工作的,談得來,技術還可以比什麼都重要。沒有哪個面試官希望找個大老爺伺候。 還是那句話,除非,你足夠優秀 !
5. 一般處於上升期的公司開價會比較高,因為資金池充裕,工作內容繁多,需要急速擴充團隊
在一線城市,北上廣深的程序員的工資肯定會比二三線城市的高很多(針對水平差不多的程序員來說), 當然,再重申那句話,除非你足夠優秀!
如果你是公司HR
如果你是HR需要找人,面試到一個四年的程序員,也完全可以按照以上標准衡量。給他打分看看最終得分是多少,然後橫向比較業內的工資水平,做一個上下的適度浮動即可。
有足夠長的工作年限,並不能說明自己的能力強;除了面試技巧之外,最重要的就是要鍛煉自己的技術能力和溝通交流能力。
所以,趁著年輕,提高單位學習時間內的效率,在盡量短的時間內掌握更多的技能,才是決定今後工資檔位的一個最重要的手段。
希望我的回答能幫助到您,如果有錯誤敬請批評指正,謝謝!
從IT 行業數據看,選擇的公司不同,價碼是不一樣的,行業內的平均工資20-30萬都有,30-50萬也大有人在,不過IT行業加班很多,干到凌晨也是常有的事,要意識到加班不是為公司加班,要從自身發展的角度考慮,今天的加班是為了自身發展,你就明白職場發展的意義。
對於程序員這個行業,工資取決於要入職的企業類型、個人技術能力、以往從業背景和教育背景。對於四年的程序員 泛泛而言最可能的范圍在10K~25K ,具體情況需要根據這四方面的情況決定, 文末予以總結 。
入職的公司類型需要程序員的企業從類型上主要有傳統企業信息化部門、互聯網公司、計算機軟體公司、通信系統研發公司、通信運營公司(在中國就是移動/聯通/電信)。這幾類公司對相同人員的薪資水平高低排序如下:
從規模上講,分為頭部公司、中小上市企業、小微企業、創業團隊。薪資高低排序大致是這個順序,但會有特殊情況是某些創業團隊因為投資情況好、研發進度緊,會大幅高薪聘請人員。
個人技術能力
·四年是程序員一個重要的分水嶺。很多程序員在這個年限仍然只具備編寫業務邏輯模塊的能力,但 優秀者已經具備獨立從0到1完成一個系統技術架構設計的能 力。這個區別將極大地影響到薪資水平,兩者的薪水至少會有30~50%的差異。
以往從業背景
程序員這個行業有一個潛規則 :假設前4年是在諸如BAT、華為等頭部企業工作,跳槽到其他類型企業時的薪資要求會比沒有這個經歷的高許多,具體數值范圍至少在20~50%之間。當然,這個也取決於招聘企業的要求,對於4年的人員到底要不要強調這個背景。
教育背景
四年的程序員,教育背景還會發揮一定的「帶貨」作用,當然較之1~3年的會低許多了。實際情況是,教育背景往往和從業背景緊密相關,比如985、雙一流高校教育背景的一般從業背景都會很好,所以這個對薪資水平的影響往往還是要通過從業背景來體現。
總結
根據上述情況,可以對細分情況進行一個總結:
程序員的工資和一座城市的消費水平相關聯,一線城市,二線城市,三線城市都是不一致的。
在 BAT 工作了三年的普通員工,按照每年 20% 的增幅可以達到 15*1.2*1.2*1.2=25k。年薪 25k*14(網路),25k*16(騰訊),25k*15(阿里)
如果在一些BAT之外的公司,在一線城市工作4年也差不多要達到25K左右才合適
二線城市18K,三線城市差不多15K才合適
程序員可以說是目前最火的崗位之一,其最主要的原因就是工資高,可以在短時間內讓自己的工資達到一個相對高的水平,所以就導致很多人去學習軟體開發,去做程序員,導致此崗位市場競爭激烈,特別是兩年以內軟體開發經驗的,競爭可以說是殘酷了,且有些供過於求的局面,以深圳地區為例,說一下程序員的工資標准:
1、剛剛畢業的大學生,工資大概在5000-7000左右。
2、一年左右工作經驗的,工資大概在7000-8000左右
3、兩年以內工作經驗的,工資大概在8000-10000左右
4、兩年至三年工作經驗的,工資大概在10000-15000左右
5、三年以上工作經驗的,大概在15000以上。
6、五年以上工作經驗的,大概在18000以上。
上面只是一個大概情況,希望能夠幫助到你。
我覺得程序員低於20k都不好意思抬頭吧 ,昨天我們公司來一個45k的老編程
和城市、學歷、能力、行業、公司性質、年齡、運氣、工作時間、性別、是否結婚、是否能出差等等有關系,我朋友三四年的,從13到26k不等
這個可復雜了,包括城市,工種等等等原因。但4年左右一線基本2w+ ,二線肯定也要1.5w加。低於這個就別幹了
我看了一堆人說這啊那的。
要我看,不是在秀,就是在賣焦慮。在我看來,薪資影響因素就兩個:平台規模,和自身的硬實力。
1. 大公司大平台的薪資一般會比市面上的高一些,具體高多少,每個都有可能不一樣。薪資倒掛,了解一下。——程序員是比較容易自然加班的,而薪資非常有誘惑力的話,會提升員工工作加班積極性,以及主動向薪資靠攏的自學積極性,同時也不容易離職,因為程序員其實心裡都有個底。
2. 小公司更多的是考慮成本的,所以,你不符合他的要求,或者就算達到了要求,也會各種砍價,薪資水平自然沒辦法和大平台比。但是,為什麼還是很多人去小公司呢?很簡單,大公司大平台能進的話,誰去小公司呢?創業嗎?畫大餅嗎?
3. 拿前端來說,甲工作5年,雖然會各種框架,各種配合協同開發;乙工作3年,不會太多框架,但是一手js玩的出神入化;丙工作2年,框架只會vue,但是vue的框架原理爛熟於心,項目架構也接觸頗多。那麼,問題來了,甲的薪資一定會很高嗎?你作為老闆,你敢開高嗎?
說到底,薪資的因素就兩個因素是最主要的:平台規模,和自身的硬實力。
說什麼工作年齡在什麼薪資范圍,都是扯淡!
㈥ 滴滴程序員的100fintechstar是什麼級別
100FintechStar是指由中國互聯網金胡枝融協會和中國人民銀行主辦的金融科技企業評選活動。這一評選活動旨在推廣和表彰在金融科技領域內具有創新能力和影響力的企業和個人,展現中國金融科技行業的發展成果,推動金融科技行業的褲空敏發展。
滴滴出行的程序員能夠被評選為100FintechStar是說明該員工在金融科技領域擁有突出的創新能力和影響力虧悉,可能屬於該評選活動中的高級別。但具體情況需要參考當年的評選標准、評選結果以及該員工在金融科技領域的貢獻程度等多個因素來綜合評估。
㈦ 根據大數據解析:程序員可以干到多少歲
開發者吃青春飯,編程這個事最多35歲,每次聽到這樣的言論都讓人覺得無語。我們先看一篇論文 《Is Programming Knowledge Related to Age》,這篇論文是兩個北卡羅納州立大學計算機科學系的兩個人對StackOverflow.com上的用戶做了相關的數據挖掘得出來的一些數據。
數據全量是1694981用戶,平均年齡30.3歲。
程序員年齡最高點在25歲左右,中點是29歲左右。
計算每個人每個月的Reputation,這樣可以找到這個用戶的真正的活躍時間,這樣便於計算這個程序員的真實能力。 (總聲望/活躍時間),可以得到他平均每個月得來的Reputation。
我們來看看程序員的能力和年齡段的分布圖:
根據數據我們可以看出程序員能力從25歲是一個上升點,到50歲才會下降。
論文的作者用五年內比較流行的技術Tag然後用了一套比較嚴謹的演算法查看所謂的年齡大的程序員是否能跟上新技術。
我們看下錶:
以上可以看到年齡並不會影響新技術的學習,甚至有些項還超過了年輕的開發者。
論文最後得出結論是程序員技術能力是可以上升到50歲到60歲了,老程序員在獲取新技術上的能力並不比程序員差。
雖然上面數據可以看出來,年齡不會成為程序員技術的絆腳石。但實際上,企業招聘更需要全面考慮,首先一般企業招聘的高級、中級、初級程序員就是有佔比的。肯定是高級程序員佔比是非常少的。
另外就是身體問題,我們知道開發是工作需要經常熬夜,動腦學習等。有些程序員到了35歲以後就會覺得身體跟年輕人拼不了,自己就找一個顧問工作退居二線了。你還能想到什麼影響?歡迎評論。
㈧ 程序員基礎知識滿分是多少
滿分為75分。程序員上午考試為基礎知識,基礎知識滿分是75分,合格標准基本上穩定在45分合格。程序員考試需要各科目在一次考試中都及格才算合格。
程序員考試包含基礎知識和應用技術,各科目滿分均為75分,合格標准基本上穩定在45分。程序員各科目考試時間安排在一天,上午考基礎知識,下午考應用技術。
程序員考試需要各科目在一次考試中都及格才算合格,單科及格的成績不予保留,也不能轉到下次考試時使用。根據原人事部、原信息產業部頒布的《關於印發〈計算機技術與軟體專業技術資格(水平)考試暫行規定〉和〈計算機技術與軟體專業技術資格(水平)考試實施辦法〉的通知》(國人部發 [2003] 39 號),計算機資格考試納入全國專業技術人員職業資格證書制度的統一規劃。通過考試獲得證書的人員,表明其已具備從事相應專業崗位工作的水平和能力,用人單位可根據工作需要從獲得證書的人員中擇優聘任相應專業技術職務(技術員、助理工程師、工程師、高級工程師)。
溫馨提示:因考試政策、內容不斷變化與調整,獵考網提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為准!
下方免費復習資料內容介紹:2018下半年信息系統項目管理師論文真題匯總
格式:PDF大小:163.74KB 2022下半年程序員學習手冊
格式:DO大小:1567.13KB
資格考試有疑問、不知道如何總結考點內容、不清楚報考考試當地政策,點擊底部咨詢獵考網,免費領取復習資料
㈨ 一個標準的程序員,它的代碼應該是怎樣分層次的
每個代碼的層次都是不一樣的,都是非常縝密的,除此之外,不光是要會寫代碼,還要成為一個好的程序員才是最重要的。
程序員,隨著計算機和軟體行業的發展,基數越來越大。如何在茫茫的程序員中脫穎而出呢,來看看作為一個好的程序員的標准你都佔了幾條?
1.經常和其他的人交流
什麼時間做什麼事情,做事情按照一定步驟來,好的程序員從來不會在時間緊任務多的時候手忙腳亂。
7. 保持謙虛
技術永無止境,技術范圍很廣,技術水很深。即使在一個領域是專家,到了其他領域還是需要其他人的指點。好的程序員總是把姿態放低,虛心請教。
㈩ 阿里p1-14職位薪資
阿里巴巴工資等級對照表2021
最近對阿里羨慕嫉妒恨的同學可不少,靜態中國工資給大家分享下阿里巴巴工資等級對照表。
1、全球員工總數
截至2019年12月31日,員工總數為116,519人。
2、崗位職級
阿里巴巴集團採用雙序列職業發展體系:
一套體系是專家路線【P序列=技術崗】,程序員、工程師,某一個專業領域的人才,一共分為 14 級,從 P1 到 P14,目前校招最低從 P4 開始。
一套體系是M路線,即管理者路線【M序列=管理崗】,從M1到M10。
一般來說,應屆畢業生剛入職到阿里為P5,工作1-3年之後升職到 P6,阿里一般到 P7 才給配股票。
目前阿里需求量最大的職級范圍分布在 P6-P8,這也是阿里集團佔比最大的級別。P6 級別的程序員 title 是高級工程師,P7 便已經是專家級別,P8 則是高級專家。一般而言,江湖上行走小有名氣的阿里程序員至少也是 P8 級別。P10 級別的存在就是傳說中的大神級別,這個級別的程序員無一不是業界鼎鼎有名的存在,比如褚霸、畢玄等等。
3、崗位薪酬
阿里薪資結構:一般是12+1+3=16薪。
年底的獎金為0-6個月薪資,90%人可拿到3個。
股票是工作滿2年才能拿,第一次拿50%,4年能全部拿完。
說到股票,就要普及一下常識了:股票是公司用來獎勵員工忠誠度的,所以阿里分年限行權,想要離職套現真的是難,更不要提高額稅收了。首先,歸屬要收高達45%的個稅,然後得到的還是限制性股票,還不能馬上賣呢。
好不容易可以出售的時候,還得交20%股票增值部分的個人所得稅哦!更重要的是,你必須先繳稅,才能歸屬,繳稅還必須用現金!所以,拿的越多,先拿出的cash就越多,這裡面的流動性風險不容小覷。
4、績效考核
考核內容:業績和價值觀各佔50%
考核頻次:季度考核為主
部門排序:2-7-1排序
個人排序:3-6-1排序
考核工具:KPI 主導
淘汰標准:連續兩個季度,成為末尾10%
晉升條件:上年度 KPI 達3.75
評價形式:三對一的考核,比如你是個經理,上級是總監,總監的上級是副總。那總監在考核經理的時候,副總要參加,還要加上相應部門的人力資源,這樣防止「一言堂」。條萊垍頭
績效評分標准,分為六檔,分別是:
5、晉升條件
晉升資格:上年度KPI達3.75
主管提名:一般KPI不達3.75主管不會提名
晉升委員會面試:晉升委員會組成一般是合作方業務部門大佬、HRG、該業務線大佬等
晉升委員會投票
如果員工想要升級別,比如從 P6 升級到 P7,則需要進行述職,通過晉升委員會的面試,晉升委員會組成一般是你的直屬領導、合作方業務部門領導、HRG、所在業務線領導等。
晉升至P8及以下,子公司內部評定;晉升到P9,集團專業委員會進行評審;M不得自主提名,M3及以下公司內one over one plus HR評審;晉升至M4進集團管理委員會評審。
P5升P6相對容易,再往上會越來越難,一般到P7都是團隊技術leader了,P6到P7非常難,從員工到管理的那一步跨出去不容易