• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 126,  comments - 73,  trackbacks - 0
            譯文]程序員能力矩陣 Programmer Competency Matrix
            注意:每個層次的知識都是漸增的,位于層次n,也蘊涵了你需了解所有低于層次n的知識。
            計算機科學 Computer Science
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            數(shù)據(jù)結(jié)構(gòu)不知道數(shù)組和鏈表的差異 能夠解釋和使用數(shù)組,鏈表,字典等,并且能夠用于實際的編程任務(wù)。了解基本數(shù)據(jù)結(jié)構(gòu)時間和空間的折中,比如數(shù)組vs 鏈表,能夠解釋如何實現(xiàn)哈希表和處理沖突,了解優(yōu)先隊列及其實現(xiàn)。 高等的數(shù)據(jù)結(jié)構(gòu)的知識,比如B-樹、二項堆、斐波那契堆、AVL樹、紅黑樹、伸展樹、跳躍表以及前綴樹等。
            算法不能夠找出一個數(shù)組各數(shù)的平均值(這令人難以置信,但是我的確在應(yīng)聘者中遇到過) 基本的排序,搜索和數(shù)據(jù)的遍歷和檢索算法。樹,圖,簡單的貪婪算法和分而治之算法,能夠適度了解矩陣該層的含義。能夠辨識和編寫動態(tài)規(guī)劃方案,良好的圖算法知識,良好的數(shù)值估算的知識,能夠辨別NP問題等。 Working with someone who has a good topcoder ranking would be an unbelievable piece of luck!
            編程體系不知道何為編譯器、鏈接器和解釋器。 對編譯器、鏈接器、解釋器有基本的了解。知道什么是匯編代碼以及在硬件層如何工作。有一些虛擬內(nèi)存和分頁知識。 了解內(nèi)核模式vs用戶模式,多線程,同步原語以及它們?nèi)绾螌崿F(xiàn),能夠閱讀匯編代碼。了解網(wǎng)絡(luò)如何工作,了解網(wǎng)絡(luò)協(xié)議和socket級別編程。 了解整個程序堆棧、硬件(CPU+內(nèi)存+中斷+微碼)、二進制代碼、匯編、靜態(tài)和動態(tài)鏈接、編碼、解釋、JIT(just-in-time)編譯、內(nèi)存碎片回收、堆、棧、存儲器編址…
            軟件工程 Software Engineering
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            源碼版本控制通過日期備份文件夾 VSS和初級的CVS/SVN用戶熟練地使用CVS和SVN特性。知道如何分支和歸并,使用程序庫補丁安裝特性等 有分布式VCS系統(tǒng)的知識。嘗試過Bzr/Mercurial/Darcs/Git
            自動化編譯只知道在IDE下編譯 知道如何編譯在命令行下編譯系統(tǒng) 能夠安裝一個腳本構(gòu)建基本的系統(tǒng) 能夠安裝一個腳本來構(gòu)建系統(tǒng)并且歸檔,安裝程序,生成發(fā)布記錄和給源碼控制中的代碼分配標簽。
            自動化測試認為所有的測試都是測試員的工作。 能夠編寫自動化的單元測試,能夠為正在編寫的代碼提出良好的測試用例。 按照TDD (Test Driven Development)方式編寫代碼。了解并且能夠有效自動化安裝,載入/性能和UI測試
            程序設(shè)計 Programming
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            問題分解只有直線式的代碼,通過復(fù)制粘貼來復(fù)用 能夠把問題分散到多個函數(shù)中 能夠想出可復(fù)用的函數(shù)/對象來解決大題的問題 使用適宜的數(shù)據(jù)結(jié)構(gòu)和算法,寫出通用的/面向?qū)ο蟮拇a來封裝問題的易改變的層面。
            系統(tǒng)分解N想不出比單一的文件/類更好的層面 如果不在同一平臺或沒采用相同的技術(shù),能夠把問題空間和設(shè)計方案分解。 能夠設(shè)計跨技術(shù)/平臺的系統(tǒng)。 能夠在多個產(chǎn)品線和與外部體系一體化中虛擬化和設(shè)計復(fù)制的系統(tǒng)。同時也能夠設(shè)計支持系統(tǒng)監(jiān)視、報告、故障恢復(fù)等。
            交流不能向同伴表達想法/主意。匱乏拼寫和語法的能力。 同伴能了解你在說什么。有良好的拼寫和語法能力。 能夠和同伴進行高效的交流能夠使用清晰的方式了解和交流想法/設(shè)計/主意/細則,能適應(yīng)每種環(huán)境的交流 This is an often under rated but very critical criteria for judging a programmer. With the increase in outsourcing of programming tasks to places where English is not the native tongue this issue has become more prominent. I know of several projects that failed because the programmers could not understand what the intent of the communication was.
            同一文件中代碼組織同一文件中組織沒有依據(jù) 按照邏輯性或者易接近的方法 代碼分塊和對于其他源文件來說是易于是釋,引用其他源文件時有良好的注釋 文檔頭部有許可聲明,總結(jié),良好的注釋,一致的空格縮進。文檔外觀美觀。
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            跨文件代碼組織沒夠想過給代碼跨文件組織相關(guān)文件按文件夾分組 每個物理文件都有獨立的目的,比如一個類的定義,一個特性的實現(xiàn)等。 代碼在物理層組織緊密,在文件名上與設(shè)計和外觀相匹配,可以通過文件分布方式洞察設(shè)計理念。
            源碼樹組織一切都放在一個文件夾內(nèi) 初步地將代碼分散進對應(yīng)邏輯的文件夾。 沒有循環(huán)依賴,二進制文件,庫,文檔,構(gòu)建,第三方的代碼都組織進合適的文件夾內(nèi)。 源碼樹的物理布局與邏輯層次、組織方式相匹配。可以通過目錄名稱和組織方式洞察設(shè)計理念。 The difference between this and the previous item is in the scale of organization, source tree organization relates to the entire set of artifacts that define the system.
            代碼可讀性單音節(jié)的名稱(在國內(nèi)應(yīng)該是那些類似用漢語拼音命名的習慣) 對文件、變量、類、方法等,有良好的命名。 沒有長函數(shù)、注釋解釋不常規(guī)的代碼,bug修復(fù),代碼假設(shè)。 代碼假設(shè)驗證使用斷言,自然的代碼流,沒有深層嵌套的條件和方法
            防御性編碼不知道這個概念檢查代碼中所有的參數(shù),對關(guān)鍵的假設(shè)進行斷言 確保檢查了返回值和使代碼失敗的異常。 有自己的庫來幫助防御性編程、編寫單元測試模擬故障
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            錯誤處理只給樂觀的情形編碼 基本的代碼錯誤處理,拋出異常/生成錯誤 確保錯誤/異常留在程序中有良好的狀態(tài),資源,連接,內(nèi)存都有被合適的清理。 在編碼之前察覺可能出現(xiàn)的異常,在代碼的所有層次中維持一致性的異常處理策略,提出整個系統(tǒng)的錯誤處理準則。
            IDEIDE大部分用來進行文本編輯 了解其周圍的接口,能夠高效地通過菜單來使用IDE了解最常操作的鍵盤快捷鍵 編寫自定義宏
            API需要頻繁地查閱文檔 把最頻繁使用的API記在腦子里 廣闊且深入的API知識。 為了使實際任務(wù)中常用API使用更加便捷,編寫過API的上層庫,填補API之間的缺口。 E.g. of API can be Java library, .net framework or the custom API for the application
            框架沒有使用過主平臺外的任何框架 聽過但沒用過平臺下流行的可用框架在專業(yè)的職位中使用過一個以上的框架,通曉各框架的特色。某框架的作者
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            需求分析接受給定的需求和代碼規(guī)格 能對規(guī)格的遺漏提出疑問 了解全面情況,提出需要被規(guī)格化的整體范圍。能夠提出更好的可選方案,根據(jù)經(jīng)驗的浮現(xiàn)給出需求
            腳本不具備腳本工具的知識 批處理文件/shell腳本 Perl/Python/Ruby/VBScript/Powershell 寫過并且發(fā)表過可重用的代碼
            數(shù)據(jù)庫認為Excel就是數(shù)據(jù)庫 知道基本的數(shù)據(jù)庫概念,規(guī)范化、ACID(原子性Atomicity、一致性Consistency、隔離性Isolation、持久性Durability)、事務(wù)化,能夠?qū)懞唵蔚膕elect語句 能夠牢記在運行時必要查詢中設(shè)計良好的規(guī)范化數(shù)據(jù)庫模式, 精通用戶視圖,存儲過程,觸發(fā)器和用戶定義類型。知道聚集與非聚集索引之間的差異。精通使用ORM(Object Relational Mapping對象關(guān)系映射)工具 能做基本的數(shù)據(jù)庫管理,性能優(yōu)化,索引優(yōu)化,編寫高級的select查詢,能夠使用相關(guān)sql來替換游標,理解數(shù)據(jù)內(nèi)部的存儲,了解如何鏡像、復(fù)制數(shù)據(jù)庫。知道兩段數(shù)據(jù)提交如何工作
            經(jīng)驗 Experience
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            專業(yè)語言經(jīng)驗命令式語言和面向?qū)ο笳Z言 命令式語言,面向?qū)ο笳Z言和說明型語言(SQL),如果了解靜態(tài)類型vs動態(tài)類型,弱類型vs強類型則有加分 函數(shù)式語言,如果了解延緩求值,局部套用函數(shù),延續(xù)則有加分 并發(fā)語言(Erlang, Oz) 邏輯語言(Prolog)
            專業(yè)平臺經(jīng)驗1 2-3 4-5 6+
            專業(yè)經(jīng)驗?zāi)挲g1 2-5 6-9 10+
            領(lǐng)域知識沒有該領(lǐng)域的知識 在該領(lǐng)域中曾經(jīng)至少為一個產(chǎn)品工作過在同一領(lǐng)域中為多個產(chǎn)品工作過 領(lǐng)域?qū)<摇T谠擃I(lǐng)域設(shè)計和實現(xiàn)數(shù)種產(chǎn)品/方案。精通該領(lǐng)域使用的標準條款和協(xié)議
            學識 Knowledge
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            工具知識僅限于主要的IDE(VS.Net, Eclipse等) 知道一些流行和標準工具的備選方案 對編輯器、調(diào)試器、IDE、開源的備選方案有很好的了解。比如某人了解大多數(shù)Scott Hanselman的威力工具列表中的工具,使用過ORM工具。實際地編寫過工具和腳本,如果這些被發(fā)布則有加分
            語言接觸命令式語言和面向?qū)ο笳Z言命令式語言、面向?qū)ο笳Z言和說明型語言(SQL),如果了解靜態(tài)類型vs動態(tài)類型、弱類型vs強類型則有加分 函數(shù)式語言,如果了解延緩求值、局部套用函數(shù)、continuations (源于scheme中的一種高級控制結(jié)構(gòu))則有加分 并發(fā)語言(Erlang, Oz) 邏輯語言(Prolog)
            代碼庫知識從來沒有查詢過代碼庫 基本的代碼層知識,了解如果構(gòu)建系統(tǒng) 良好的代碼庫工作知識,實現(xiàn)過幾次bug修復(fù)或者完成了一些細小的特性 實現(xiàn)了代碼庫中多個大型特性,能夠輕松地將多數(shù)特性的需求變更具體化,從容地處理bug修復(fù)。
            下一代技術(shù)知識從來沒聽說過即將到來的技術(shù) 聽說過某領(lǐng)域即將到來的技術(shù) 下載過alpha preview/CTP/beta版本,并且讀過一些文章和手冊 試用過預(yù)覽版而且實際地構(gòu)建過某物,如果共享給其他人的話則有加分
            ?2n(Level 0)n2(Level 1)n (Level 2)log(n) (Level 3)Comments
            平臺內(nèi)部對平臺內(nèi)部毫無所知 有平臺基本的內(nèi)部工作的知識 深度的平臺內(nèi)部知識,能夠設(shè)想平臺如何將程序轉(zhuǎn)換成可執(zhí)行代碼。 編寫過增強平臺或者為其平臺內(nèi)部提供信息的工具。比如,反匯編工具,反編譯工具,調(diào)試工具等。
            書籍菜鳥系列,21天系列,24小時系列,蠢貨系列... 《代碼大全》,《別讓我思考》, 《精通正則表達式》 《設(shè)計模式》,《人件》,《代碼珠璣》,《算法設(shè)計手冊》,《程序員修煉之道》,《人月神話》 《計算機程序設(shè)計與解釋》,《事務(wù)處理:概念與技術(shù)》,《計算機程序設(shè)計模型》,《計算機程序設(shè)計藝術(shù)》,《數(shù)據(jù)庫系統(tǒng)導論》 C.J Date版,《Thinking Forth》 ,《Little Schemer》(沒找到其中譯本)
            博客聽過但是從來抽不出空去接觸 閱讀一些科技/編程/軟件工程的博客,并且經(jīng)常的收聽一些播客維護一些博客的鏈接,收集博主分享的有用的文章和工具維護一個在編程方面,分享有個人見解和思考的博客
            Creative Commons License
            程序員能力矩陣 by XGuru is licensed under a Creative Commons 署名-非商業(yè)性使用-相同方式共享 2.5 中國大陸 License. 原文請看 這里
            Thanks to bearice for debugging.
            Thanks to John Haugeland for a reformatting of it that works much more nicely on the web.
            posted on 2010-03-23 09:35 我風 閱讀(278) 評論(0)  編輯 收藏 引用
            <2010年3月>
            28123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(12)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            C++

            MyFavorite

            搜索

            •  

            積分與排名

            • 積分 - 326083
            • 排名 - 75

            最新評論

            閱讀排行榜

            評論排行榜

            午夜久久久久久禁播电影| 国内精品久久国产大陆| 久久精品成人一区二区三区| 精品人妻伦九区久久AAA片69| 亚洲国产成人久久综合区| 色88久久久久高潮综合影院| 久久93精品国产91久久综合| 久久精品无码一区二区三区免费 | 久久婷婷国产剧情内射白浆| 久久精品国产亚洲一区二区| 国产精品欧美久久久久天天影视| MM131亚洲国产美女久久| 久久青青色综合| 久久人人爽人人爽AV片| 国产精品热久久毛片| 久久精品桃花综合| 国产伊人久久| 日韩精品久久无码中文字幕| 久久精品一区二区影院| 久久天天躁狠狠躁夜夜网站| 久久伊人五月天论坛| avtt天堂网久久精品| 少妇无套内谢久久久久| 思思久久精品在热线热| 久久e热在这里只有国产中文精品99| 久久亚洲AV成人无码软件| 精品久久久久中文字| 人人狠狠综合久久亚洲88| 香港aa三级久久三级| 久久WWW免费人成—看片| 国产精品久久久久jk制服| 国产免费久久精品99re丫y| 久久AAAA片一区二区| 国产精品久久久久久久午夜片| 97久久香蕉国产线看观看| 国产精品久久久久久久午夜片| 99精品国产在热久久无毒不卡| 久久婷婷激情综合色综合俺也去 | 青青草国产成人久久91网| 久久久久免费看成人影片| 色综合久久天天综合|