程序员能力矩阵_第1页
程序员能力矩阵_第2页
程序员能力矩阵_第3页
程序员能力矩阵_第4页
程序员能力矩阵_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Level 0Level 1数据结构不知道数组和链表的差异能够解释和使用数组,链表,字典等,并且能够用于实际的编程任务。算法不能够找出一个数组各数的平均值基本的排序,搜索和数据的遍历和检索算法。编程体系不知道何为编译器、链接器和解释器。对编译器、链接器、解释器有基本的了解。知道什么是汇编代码以及在硬件层如何工作。有一些虚拟内存和分页知识。源码版本控制通过日期备份文件夹VSS和初级CVS/SVN用户自动化编译只知道在IDE下编译知道如何编译在命令行下编译系统自动化测试认为所有的测试都是测试员的工作。能够编写自动化的单元测试,能够为正在编写的代码提出良好的测试用例。问题分解只有直线式的代码,通过复

2、制粘贴来利用能够把问题分散到多个函数中系统分解N想不出比单一的文件/类更好的层面如果不在同一平台或没采用相同的技术,能够把问题空间和设计方案分解。交流不能向同伴表达想法/主意。匮乏拼写和语法的能力。同伴能了解你在说什么。有良好的拼写和语法能力。同一文件中代码组织同一文件中组织没有依据。按照逻辑性或者易接近的方法。跨文件代码组织没有想过给代码跨文件组织相关文件按文件夹分组源码树组织一切都放在一个文件夹内初步地将代码分散进对应逻辑的文件夹代码可读性单音节的名称(在国内应该是那些类似用汉语拼音命名的习惯对文件、变量、类、方法等,有良好的命名。防御性编码不知道这个概念检查代码中所有的参数,对关键的假设

3、进行断言计算机科学Comput er Science软件工程Softwa re Engine ering 程序设计Progra mming错误处理只能乐观的情形编码基本的代码错误处理,抛出异常/生成错误IDE IDE大部分用来进行文本编辑了解其周围的接口,能够高效地通过菜单来使用IDEAPI 需要频繁地查阅文档把最频繁使用的API记在脑子里框架没有使用过主平台外的任何框架听过但没用过平台下流行的可用框架需求分析接受给定的需求和代码规格能对规格的遗漏提出疑问脚本不具备脚本工具的知识批处理文件/shell脚本数据库认为EXCEL就是数据库知道基本的数据库概念,规范化、ACID(原子性Atomici

4、ty、一致性Consistency、隔离性Isolation、持久性Durability、事务化,能够写简单的select语句专业语言经验命令式语言和面向对象语言命令式语言,面向对象语文和说明型语文(sql,如果了解静态类型VS动态类型,弱类型VS强类型则有加分专业平台经验12-3专业经验年龄12-5领域知识没有该领域的知识在该领域中曾经至少为一个产品工作过工具知识仅限于主要的IDE(VS.Net,Eclipse等知道一些流行和标准工具的备选方案语言接触命令式语言和面向对象语言命令式语言,面向对象语文和说明型语文(sql,如果了解静态类型VS动态类型,弱类型VS强类型则有加分代码库知识从来没有

5、查询过代码库基本的代码层知识,了解如何构建系统学识Knowle dge计Progra mming经验Experi ence下一代技术知识从来没听说过即将到来的技术听说过某领域即将到来的技术平台内部对平台内部毫无所知有平台基本的内部工作的知识书籍菜鸟系列,21天系列,24小时系列,蠢货系列代码大全,别让我思考,精通正则表达式博客听过但是从来抽不出空去接触阅读一些科技/编程/软件工程的博客,并且经常经常的收听一些播客学识Knowle dgeLevel 2Level 3了解基本数据结构和空间的折中,比如数组VS链表,能够解释如何实现哈希表和处理冲突,了解优先队列及其实现。高等的数据结构的知识,比如B

6、-树、二项堆、斐波那契堆、AVL树、红黑树、伸展树、跳跃表以及前缀树等。树,图,简单的贪婪算法和分而治之算法,能够适度了解矩阵该层的含义。能够辨识和编写动态规划方案,良好的图算法知识,良好的数值估算和知识,能够辨别NP问题等。了解内核模式VS用户模式,多线程,同步原语以及它们如何实现,能够阅读汇编代码。了解网络如何工作,了解网络协议和socket级别编程。了解整个程序堆栈、硬件(CPU+内存+中断+微码、二进制代码、汇编、静态和动态链接、编码、解释、JIT(just-in-time编译、内存磁片回收、堆、栈、存储器熟练地使用CVS和SVN特性。知道如何分支和归并,使用程序库补丁安装特性等有分布

7、式VCS系统的知识。尝试过Bzr/Mercurial/Darcs/Git能够安装一个脚本构建基本的系统能够安装一个脚本来构建系统并且归档,安装程序,生成发布记录和给源码控制中的代码分配标签。按照TDD(Test Driven Development方式编写代码。了解并且能够有效自动化安装,载入/性能和UI测试。能够想出可复用的函数/对象来解决大题的问题使用适宜的数据结构和算法,写出通用的/面向对象的代码来封装问题的易改变的层面。能够设计跨技术/平台的系统。能够在多个产品线和与外部体系一体化中虚拟化和设计复制的系统。同时也能够设计支持系统监视、报告、故障恢复等。能够和同伴进行高效的交流能够使用清

8、晰的方式了解和交流想法/设计/主意/细则,能适应每种环境的交流。代码分块和对于其他源文件来说是易于解释,引用其他源文件时有良好的注释。文档头部有许可声明,总结,良好的注释,一致的空格缩进。文档外观美观。每个物理文件都有独立的目的,比如一个类的定义,一个特性的实现等。代码在物理层组织紧密,在文件名上与设计和外观相匹配,可以通过文件分布方式洞察设计理念。没有循环依赖,二进制文件,库,文档,构建,第三方的代码都组织进合适的文件夹内。源码树的物理布局与逻辑层次、组织方式相匹配。可以通过目录名称和组织方式洞察设计理念。没有长函数、注释解释不常规的代码,bug修复,代码个假设。代码假设验证使用断言,自然的

9、代码流,没有深层嵌套的条件和方法。确保检查了返回值和使代码失败的异常有自己的库来帮助防御性编程、编写单元测试模拟故障确保错误/异常留在程序中有良好的状态,资源,连接,内存都有被合适的清理。在编码之前察觉可能出现的异常,在代码的所有层次中维持一致性的异常处理策略,提出整个系统的错误处理准则。了解最常操作的键盘快捷键编写自定义宏广阔且深入的API知识。为了使实际任务中常用API使用更加便捷,编写过API的上层库,填补API之间的缺口。在专业的职位中使用过一个以上的框架,通晓各框架的特色。某框架的作者了解全面情况,提出需要被规格化的整体范围能够提出更好的可选方案,根据经验的浮现给出需求Perl/Py

10、thon/Ruby/VBScript/Powershell写过并且发表过可重用的代码能够牢记在运行时必要查询中设计良好的规范化数据库模式,精通用户视图,存储过程,触发器和用户定义类型。知道聚集与非聚集索引之间的差异。精通使用ORM (Object Relational Mapping对象关系映射工具能够基本的数据库管理,性能优化,索引优化,编写高级的select 查询,能够使用相关SQL来替换镜像、复制数据库。知道两段数据提交如何工作函数式语言,如果了解延缓求值,局部套用函数,延续则有加分并发语言(Erlang,Oz逻辑语言(Prolog4-56+ 6-910+在同一领域中为多个产品工作过领域

11、专家。在该领域设计和实现数种产品/方案。精通该领域使用的标准条件和协议对编辑器、调试器、IDE、开源的备选方案有很好的了解。比如某人了解大多数Scott Hanselman的威力工具列表中的工具,使用过ORM 工具。实际地编写过工具脚本,如果这些被发布则有加分函数式语言,如果了解延缓求值,局部套用函数,continuations(源于scheme中的一种高级控制结构则有加分并发语言(Erlang,Oz逻辑语言(Prolog良好的代码库工作知识,实现过几次BUG修复或者完成了一些细小的特性实现了代码中多个大型特性,能够轻松地将多数特性的需求变更具体化,从容地处理BUG修复。试用过预览版而且实际地构建过某 下载过alpha preview/CTP/beta版 物,如果共享给其他人的话则有加 本,并且读过一些文章和手册 分 编写过增强平台或者为其内部提供 深度的平台内部知识,能够设想平 信息的工具。比如,反汇编工具, 台如何将程序转换成可执行代码 反编译工具,调度工具等。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论