導航:首頁 > 程序命令 > 程序員水平測試

程序員水平測試

發布時間:2023-05-23 20:35:49

⑴ 如何辨別一個程序員水平的高低

1.自己介紹項目,看對項目的提煉總結能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技術深度;
3.設計模式提問,看有沒有學習方法;
4.語法基礎問題,多線,分布,安全等問題,看知識面廣度;
5.智力問題,看反應能力,分析問題思路等
上述五步基本可知是否是一個好程序猿

計科專業從事軟體開發十幾年了,主要在瀏覽器內核領域研究的比較多,最近在研究伺服器後台方向,辨別程序員水平高低主要看做出了什麼產品,如同現在的程序員主要是項目經驗,簡歷上寫的一堆項目經驗都是面試的時候主要提及的問題。經常在面試中會問兩個關鍵點:一個是做過什麼項目;一個是在項目組中承擔什麼職務,畢竟參與過和做的多少程度是不一樣的,這些都是可以通過一些具體的細節檢測出來,問題越具體越是容易看出水準,具體的東西不是能夠編造出來的。

有很多技術公司直接不通過筆試,僅僅通過簡單的面試就確定工資水準了,最簡單的測試程序員水平的直接用筆試的方式,筆試可以把一些細節量化,盡量的細節化也是能測試出程序員基本功的,但這種基本用來測試初級程序員的,很多高級的程序員看到有筆試直接就抬腿走人了,因為有些程序員在一個方向做的時間太長了,很多基本功都忘得差不多了,所以筆試可能不過關,現實中很多程序員筆試不過關,面試還可以,也一樣可以做項目說的就是這類人,起碼這算是非常優秀的程序員。

有很多公司採用谷歌的方式,直接採用上機寫代碼的方式檢驗程序員水平,這種方式比較直接,但在現實中可能消耗的時間以及面試官的精力,目前只有極少數的公司用這種方式,國外的公司用這種方式比較多,這種看基本功非常有效。通過代碼可以看到編碼習慣以及演算法的設計上,都能直接看的出來。

普通的程序員直接看項目的經驗,高級的直接看做過的產品,特別是產品主要設計人員,這就是程序員內心的自豪感,畢竟作為一個程序員起碼要有自己設計開發的產品,也算是不白做一個程序員,在程序員的職業經歷中如果能經歷過一個產品從開始設計的初稿到最後推向市場,如果是完整的經歷,將是一種巨大的財富,只要經歷過一次都會對產品設計有一個比較層次的認識,這種能力需要靠直接的面試語言表達來展示出來,談下對產品的認識以及產品穩定性性能等方面的總結,能到這個層面起碼是高級軟體工程師的級別。

當然有些程序員內在的東西不是靠語言或者寫代碼看出來的,因為一個優秀的程序員不僅僅是代碼能力以及框架能力,還有幾個非常重要的能力

程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。

希望能夠幫到你。

自認為不是一個好的面試官,因為我認為在這么短的時間內,准確地衡量出來程序員水平的高低是有比較大的難度的,並且我有多次看走眼的時候,面試的時候覺得能力還不錯,但是入職工作了一段時間之後,編程能力不忍直視。

工作之後接觸一段時間,我會從這么幾個方面觀察他們,以判斷技術能力的高低和發展潛力。


能不能出活兒、能不能debug

能不能把開發任務按時按質量地完成,當然是最主要的衡量標准了:

解決問題的方法

在開發過程中,難免會遇到沒有見過的問題,有些程序員遇到問題無從下手,而優秀的程序員,自有一套解決問題的方法。

分析問題、流程設計的思路

有人會認為,程序員的主要工作就是敲代碼,上班大部分時候都是在敲代碼,其實並不是這樣:

總結問題和改進問題的能力

好的程序員,相同的問題不會犯第二次,差的程序員,總會在一個問題上栽跟頭:

我將持續分享java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。

不請自來,一介碼農路過,留下些看法。

程序員主要是有四種綜合能力,也就是debug 能力、 performance分析、 保護性編程和 投入產出比。

僅僅獨立完成日後必然成高手?

在這里不能說一棒子打死,至少對於很多人來說,能獨立完成是沒什麼問題的,有的是因為對業務熟悉,有的是真的基礎扎實。但怎麼說呢,程序員和瀏覽器打交道是最多的,現在這個互聯網時代,遇到的大部分問題網路都是可以解決的,也就是普通程序員 + 網路 = 超級程序員。 但很多人也沒明白具體的原理,甚至都是這個項目抄抄那個項目抄抄的,久而久之雖然解決了平時的業務,但進步的空間卻很少,甚至止步不前,寫出來的代碼也可能存在很多坑,所以,僅僅能獨立完成任務的話,離高手還有比較遠的一段距離。

如何辨別高手程序員?

也就是結合我們一開始列舉的那四個能力進行判斷。不同級別的程序員,在那綜合能力面前,強弱也是不同的。例如在奔潰的或者其他性能調優問題上,即使是面對大量復雜的代碼,在信息不全的時候也會一步步的分析,抽絲剝繭縮小范圍,最終定位根本原因

,並且最終給出一個好的方案。

如何成為高手程序員?

當然還有看他摘了帽子是否禿頂這樣的笑話,就再不贅述了。

第一階段(黃金):會用編程語言實現需求,比如現在的業務系統,都會找一些會搬代碼的人來拼工作量,也就是能自己獨立基於搭好的框架實現crud常規操作。

第二階段(鉑金):除了crud,還會有一些自己踩過坑的經驗,知道如何處理一些常見問題,或者可以基於搜索引擎快速解決一些異常情況。

第三階段(鑽石):能解決一些疑難雜症和會通過debug部分源碼類庫查看到這些疑難雜症是如何引發的,並通過編碼解決這些問題,還能進行一些局部的性能優化,類似某個系統介面緩慢可以單獨去優化。

第四階段(星耀):會基於整個系統進行設計和規劃,根據業務特性選擇合適的框架,從源頭控制開發遇到問題的頻率,可以自主的搭建框架並完善機制,了解各個組件工作原理。

第五階段(王者):小說裡面總是說練武功的永遠比不過創造武功的,同樣的道理,用框架的也往往不如寫框架的,所以寫框架的這類人單獨分層。

第六階段(榮耀):其實這個階段不應該列入進來,因為這類人往往不編碼的,只是給出思想;像Hadoop這種框架就是基於人家發表的一些論文(bigdata)進行編碼實現的,這類人注重的是思想和演算法,區塊鏈,大數據,雲計算等等概念的創造和理論的支撐是這類人提出來的,這些人才是真正影響行業走向的人。

程序員的水平高低,不是靠語言或外在表現就能看出來的,不是看他會多少技術、參加過多少項目、寫了多少博客,而是看他在實際業務場景中解決問題的能力,尤其是面對一些特別復雜的問題,或在高強度、高壓工作狀態下解決問題的能力與態度。


技術可以通過學習掌握,但是解決問題、定位問題的能力卻不是一蹴而就。大家可能會說,「解決問題的能力」這個太寬泛了吧,可以更具象化嗎,有具體的測量方法嗎?簡單整理了以下幾點供參考。


優秀的代碼能力

會寫出滿足需求的代碼,早就不是評判程序員水平的標准了。代碼編寫既要滿足業務需求,同時還要考慮後續的軟體維護,說得通俗些,既要自己爽,也要別人爽。一個優秀的程序員,會致力於寫出更簡單、更效率、可讀性強、擴展性強的程序代碼。


邏輯思維

程序員在日常工作中,需要理解各式各樣的業務需求,所以這就需要程序員具備一定的邏輯思維能力。可以說,邏輯思維是程序員的靈魂,因為每一行代碼都是程序員邏輯的體現。


debug能力

項目著急上線,發布時出現問題?

業務高峰時段,系統宕機了?

業務催、運營催、用戶催、老闆催!

各種形態的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點,是我量化判斷程序員水平的標准,僅供參考。相比水平,其實我更看重程序員的態度,執行力,時間觀念,自學力等等,也是很重要的團隊作戰能力,也可以說是程序員水平的考量吧。

謝謝大家。

⑵ 程序員考試都考哪些內容

程序員要考 計算機基礎,操作系統,資料庫,多媒體,網路基礎,程序設計基礎,軟體工程基礎,數據結構與演算法,標准化和知識產權,安全基礎知識,C語言,以及從VB、C++、JAVA三種語言選一種。
考試形式分為上午考試和下午考試(各75分,150分鍾,一共150分,300分鍾)
上午考試內容:計算機基礎,操作系統,資料庫,多媒體,網路基礎,程序設計基礎,軟體工程基礎,數據結構與演算法,標准化和知識產權,安全基礎知識,計算機英語(其中硬體基礎,網路基礎,程序設計基礎,軟體工程占的比重更大)。
下午考試內容:C語言,數組,數據結構及常用演算法,以及從VB、C++、JAVA三種語言選一種。(二維數組,數據結構中的堆棧及排序等考得比較多。)

⑶ 軟考程序員考試內容有哪些

程序員屬於軟考初級資格考試,軟考程序員考試包含兩個科目:基礎知識與應用技術,各科目考試內容有所不同,考試需要在一次考試中各科目都及格才算合格。
程序員屬於軟考初級資格考試,根據程序員考試大綱,各科目考試內容如下:
考試科目1:計算機與軟體工程基本知識
1.計算機科學基礎
1.1數制及其轉換
二進制、十進制和十六進制等常用數制及其相互轉換
1.2數據的表示
數的表示
非數值數據的表示
1.3算術運算和邏輯運算
計算機中二進制數的運算方畝殲握法
邏輯代數的基本運算
1.4數學應用
常用數值計算(矩陣、近似求解、插值)
排列組合、應用統計
編碼基礎
1.5常用數據結構
數組
線性表及鏈表
隊列、棧


1.6常用演算法
演算法與數據結構的關系
演算法設計和演算法描述
常用的排序演算法
查找演算法
常用的數值計算方法
字元串處理演算法
遞歸演算法
最小生成樹、拓撲排序和單源點最短路徑求解演算法
2.計算機系統基礎知識
2.1硬體基礎知識
2.1.1計算機的類型和特點
微機(PC機)、工作站、伺服器、主機、大型計算機、巨型計算機、並行機
2.1.2中央處理器CPU
CPU的組成
常用的寄存器
指令系統,定址方式
令執行控制、中斷控制、處理機性能
2.1.3主存和輔存
存儲介質
高速緩存(Cache)、主存
輔存設備
2.1.4I/O介面、I/O設備和通信設備
I/O介面
I/O設備(類型、特性)
通信設備(類型、特性)
I/O設備、通信設備的連接方法和連接介質類型
2.2軟體基礎知識
2.2.1操作系統基礎知識
操作系統的類型和功能
處理機管理
存儲管理
設備管理
文件管理
作業管理(作業調度演算法)
圖形用戶界面和操作方法
2.2.2程序設計語言和語言處理程序的基礎知識
語言翻譯基礎知識(匯編、編譯、解改沒釋)
程序設計語言的基本成分:數據、運算、控制和傳輸
程序語言類型和特點
2.3網路基礎知識
網路的功能、分類、組成和拓撲結構
基本的網路協議與標准
常用網路設備與網路通信設備,網路操作系統基礎知識
Client/Server結構、Browser/Server結構
區域網(LAN)基礎知識
Internet基礎知識
2.4資料庫基礎知識
資料庫管理系統的主要功能和特徵
資料庫模式(概念模式、外模式、內模式)
數據模型、ER圖
數據操作(關系運算)
資料庫語言(SQL)
資料庫的主要控制功能(並發控制、安全控制)
2.5多媒體基礎知識
多媒體基本知識
常用多媒體設備性能特徵,常用多媒體文件格式類型
2.6系統性能指標
響應時間、吞吐量、周轉時間
可靠性、可維護性、可擴充性、可移植性、可用性、可重用性、安全性
2.7計算機應用基礎知識
計算機常用辦公軟體操作方法
計算機信息管理、數據處理、輔助設計、自動控制、科學計算、人工智慧等領域的應用
遠程通信服務
3.系統開發和運行知識
3.1軟體工程和項目管理基礎知識
軟體工程基礎知識
軟體開發生命周期各階段的目標和任務
軟體過程基本知識
軟體開發項目管理基本知識
軟體開發方法(原型法、面向對象方法)基礎知識
軟體開發工具與環境基礎知識(CASE)
軟體質量管理基礎知識
3.2系統分析設計基礎知識
數據流圖(DFD)、實體聯系圖(ER圖)基本知識
面向對象設計、以過程為中心設計、以數據為中心設計基礎知識
結構化分析和設計方法
模塊設計、代碼設計、人機界面設計基礎知識
3.3程序設計基礎知識
結構化程序設計、流程圖、NS圖、PAD圖
程序設計風格
3.4程序測試基礎知識
程序測試的目的、原則、對象、過程與工具
黑盒測試、白盒測試方法
測試設計和管理
3.5程序設計文檔基礎知識
演算法的描述、程度邏輯的描述、程度規格說明書
模塊測試計劃、模塊測試用例、迅慶模塊測試報告
3.6系統運行和維護基礎知識
系統運行管理基礎知識
系統維護基礎知識
4.信息安全基礎知識
信息系統安全基礎知識
信息系統安全管理
加密與解密基礎知識
5.標准化基礎知識
標准化基本概念
標準的層次(國際標准、標准、行業標准、企業標准)
相關標准(代碼標准、文件格式標准、安全標准、軟體開發規范和文檔標准、互聯網相關標准)
6.信息化基礎知識
信息、信息資源、信息化、信息工程、信息產業、信息技術的含義
全球信息化趨勢、信息化戰略、企業信息化戰略和策略常識
有關的法律、法規要點
7.計算機專業英語
具有助理工程師(或技術員)英語閱讀水平
掌握本領域的英語基本術語
考試科目2:程序設計
1.內部設計
1.1理解外部設計
1.2軟體功能劃分和確定結構
數據流圖(DFD)、結構圖
1.3物理數據設計
確定數據組織方式、存儲介質、設計記錄格式,處理方式
1.4詳細輸入輸出設計
界面設計、報表設計等
1.5內部設計文檔
程序介面、程序功能、人機界面、輸入輸出、測試計劃
1.6內部設計評審
2.程序設計
2.1模塊劃分(原則、方法、標准)
2.2編寫程序設計文檔
模塊規格說明書(程序處理邏輯、輸入輸出數據格式)
測試要求說明書(測試類型和目標、測試用例、測試方法)
2.3程序設計評審
3.程序實現
3.1編程
編程方法和規范
程序設計語言的選擇和使用
人工走查
程序文檔化
3.2程序測試
測試環境和測試工具的選擇和使用
測試數據的設計
測試報告的編寫
4.程序設計語言(C語言為必選,再在C、C++、Java語言中任選一種)
4.1C程序設計語言(C99標准)
4.2C++程序設計語言(ANSIC++標准)
4.3Java程序設計語言(Java2)

溫馨提示:因考試政策、內容不斷變化與調整,獵考網提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為准!
下方免費復習資料內容介紹:2021上半年系統集成項目管理工程師上午真題及答案解析
格式:PDF大小:581.88KB 2022下半年系統集成項目管理工程師考前20問
格式:DO大小:34.25KB
資格考試有疑問、不知道如何總結考點內容、不清楚報考考試當地政策,點擊底部咨詢獵考網,免費領取復習資料

⑷ 程序員證書怎麼考

現在做開發對程序員的要求主要是有實際的項目經驗,簡單的說:就是你參與過軟體的實際開發,或者自己寫過一些小軟體等。而考證並不是很重要,不過可以把考證當做激勵你學習的手段,同時,有個證書總比沒有的好!
個人建議你可以參加軟考(軟體部分),包括程序員、軟體工程師、系統分析師等等,因為通過考這個證書可以讓你非常系統的掌握軟體開發的每一部分的知識,當然,系統分析師還是有一定難度的,不過通過的話還是很不錯的!
至於微軟認證,它不傾向於軟體開發這塊,主要是針對微軟的產品來的,比如MCSE,他考察的幾門課程大多是微軟的產品,包括操作系統、資料庫等!
另外還有個Sun認證,不過側重於Java!
註:軟考的認證比較通用,而公司的認證主要側重他們自己的產品,所以如果你走的是.net的開發,所以Sun的認證就可能不適合你!

⑸ 做java開發的,想考試軟體水平考試,考哪一種工程師,好呢

J2EE它,我覺得學習這個框架內,很快學會了折疊出什麼樣的框架,更新太快,知識產權的成熟和完善的軟體工程師,因為它是工程師遇到了一個問題,我們必須解決的方式,或工程師這樣做!哦,這是我自己的看法,請參閱

閱讀全文

與程序員水平測試相關的資料

熱點內容
遵義聯通伺服器地址是什麼 瀏覽:29
ansys約束命令流 瀏覽:814
解壓軟體電腦版如何下載 瀏覽:791
閃電匕首演算法球 瀏覽:692
linuxredis停止命令 瀏覽:670
大麥賬號怎麼加密 瀏覽:113
穿越火線怎麼找伺服器 瀏覽:526
秘密加密社交軟體app 瀏覽:256
c語言編譯器怎麼找文件 瀏覽:835
數學不好能編程嗎 瀏覽:254
微雲里的視頻加密 瀏覽:41
3大加密貨幣交易平台 瀏覽:647
鈑金激光切割機編程 瀏覽:496
vivo手機手電筒app在哪裡 瀏覽:787
單片機晶振電路電容 瀏覽:887
穿越火線河南一區伺服器雲主機 瀏覽:41
文件夾與快捷方式顯示一致 瀏覽:879
幻影伺服器怎麼看金錢 瀏覽:349
小米手機怎麼用app減肥 瀏覽:893
本機如何與雲伺服器互通 瀏覽:652