如何招到优秀的程序员(第二版)

根据大家的反馈,我发现在第一版中对优秀程序员的定位有一些偏差,因此作出改进,希望大家继续拍砖!并慎重声明:此处是讨论如何招到优秀的程序员,如果你认为自己是优秀的,请说出你自认为优秀的地方,这会给HR的工作带来帮助。大多数程序员抱怨公司不识泰山,这不正好是可以改善双方选择的方式方法吗?

笔试考察

  1. 模式和架构的掌握:根据所给出的业务场景和系统架构图,简单阐述你的理解和认为有待改进的地方。
  2. 功能实现能力:根据现有的系统架构图,选择一个最能表现你编程能力的项目,说明你的实现方案和预计花费工时,试画出一组类的静态视图。
  3. 代码规范的掌握:重新考虑第二题中类的名称,试为其中一个类写出最能表现你编码风格的二至三个完整代码的方法。
  4. 代码审查能力:审核几个类文件,找出所有你认为不合适的地方。
  5. 笔试时间为一个小时。

面试考察

  1. 现行项目特点方面:你如何理解和实施对于现有系统的重构?如有类似经历,请简述,考察求职人员的描述是否连贯、清晰有条理。
  2. 业务技术理解和目标方面:是否有过BPM(业务流程管理)方面的工作经历,请简述;对此类项目是否有兴趣?
  3. 合作稳定性方面:求职人员自身的发展目标。

业务场景举例

一家健身俱乐部将推出自己的电子商务系统,系统满足会员管理、健身场地展示、教学示例视频付费点播、多种在线支付手段(可与银行或第三方支付接口)、教员管理、课程安排和在线选课几个模块。在未来,该电子商务系统可能还会实现与健身器材提供商和维护商的系统协作,但在此期规划中可以不实现功能。

会员分为两种,购买一种或多种健身课程的会员,他们可以在营业时段免费使用俱乐部的所有器材和在指定时间参与健身教练举办的课程;另一种是按季度或年支付会员费的会员,他们也可以在营业时间免费使用俱乐部器材。

对于课程管理和在线选课功能,包含了场地管理和时间管理子模块,每个课程对应一个或多个场地,但仅对应一个时间段,参与课程的学员在课程时间范围内可能使用健身房的其它与课程无关的器材,这将会影响到未参与课程的会员对器材的使用。针对每个课程,根据场地所能容纳的人数,作为课程最大参与人数,但课程最大报名人数是不限的。

posted @ 2010-07-22 10:19  Justina Chen  阅读(4046)  评论(40编辑  收藏  举报