一种集各种优点于一身的技术面试方式

请根据下面的表格,从纵向的列选择你熟悉的知识点(最后两行可以随意列举你感兴趣或熟悉的知识点),从横向的行选择一个知识点的方面构成一个问题。

也就是说你可以选择一个知识点回答其五个方面,也可以选择十个知识点,每一个回答其一方面。

每回答一个问题之前请告诉我你选择的问题(比如“ORM的优缺点”),如果问题回答的相对准确,在表格中我会在相应的位置打五角星(好)或打勾(一般)。

30分钟之后,计算分数,一个勾1分,一个五角星2分,超过60分则面试通过(满分200),回答越多分数也越高。

 

回答开始时间:                            回答结束时间:                                总分:  60

 

这是什么(一句话总结一下)

优缺点(如果没有缺点可以只说优点)

代表性的实现或框架(是否开源?)

用来解决什么问题或是为什么会出现这样的概念或技术

基本的实现原理或是要实现这个技术最需要的基本功能

ORM

   

IOC

   

MVC

   

SOA

   

AOP

   

AJAX

   

LINQ

   

泛型

   

值类型/引用类型

   

设计模式

   

线程同步

   

缓存

   

(数据库)事务

   

(数据库)索引

   

异步队列

   

线程池/连接池

         

NOSQL

         

单元测试

         

(自定义)

         

(自定义)

         

 

可以把上述资料打印成一张纸,放在桌面上让面试者自问自答。甚至可以提供录音笔,不需要面试官的参与,之后进行评审,适用于大规模筛选。

 

可以针对需要的职位对以下一些参数进行调整:

  1. 纵向的知识点
  2. 横线的问题
  3. 及格线要求回答的问题总数,比如30分钟回答出20个题目认为及格
  4. 可以根据问题回答的完美程度有一个更多的区分,1-5分
  5. 时间可以放宽到1小时,也可以进一步缩小(当然及格线需要调整)

表格的横向应该有一个递进的关系,考察面试者对技术的掌握在哪一个层次:

  1. 知道有这个东西
  2. 了解并且评测过
  3. 在项目中使用过
  4. 自己尝试开发过

比如上面一套示范问题:

  1. 横线有递进
  2. 纵向分别考察了模式/方法学/数据库/架构/新技术/框架等方面的基础
  3. 适合高级软件工程师或架构师的面试

这种面试方式有以下优点(这只是技术面试,在这之前或之后应该有针对性格的面试):

  1. 不怕面试题泄漏。这些知识点是可以根据职位或是公司要求的技术调整的,面试者很难猜到。所有知识点在网上可以搜索到定义,但是这种回答是和自己的体验总结出来的东西完全不一样,相信没有一个人的答案是一致的。
  2. 面试的方式很灵活。可以随意调整面试时间。并且支持面试官不在场方式的自主面试。并且面试者可以很轻松地自己安排时间组织回答,不需要有被问的压力。面试者和面试官也不容易因发生分歧而导致个人感情。
  3. 不拘泥于细节,但却很考技术。你可以有技术的广度,也可以有技术的深度,没有广度也没有深度的人不太可能通过这样的面试。任何东西都是基于自己的理解,基于对本质的理解。
  4. 考的不只是技术。要在很短的时间组织自己的思维有条理得回答出这些问题,需要有清晰的思维以及不错的语言组织和表达能力,并且还需要脑子快,能及时切换到下一个问题。并且,我们可以看到如果能回答出这些问题,这个人一定是很好学,知其所以然的,所以可以看出是否热爱技术。
  5. 可以量化。谈话类的面试量化是一个问题,这种方式可以量化成分数,择优录取。
  6. 公平。所有人的问题都是一样的。可以由多个考官根据面试者的录音集体评分。正因为可以量化所以在大规模面试中相对公平,不会出现到后来先面试的人都忘记了这样的事情。
posted @ 2010-12-28 21:32  lovecindywang  阅读(19416)  评论(41编辑  收藏  举报