Skip to content

Latest commit

 

History

History
162 lines (111 loc) · 10.9 KB

recruit.md

File metadata and controls

162 lines (111 loc) · 10.9 KB

招聘制度

NiX 作为一个刚刚起步的团队,虽然在理念、技术实力等方面更加先进,但却缺乏一套流程化、规范化的招聘制度。大多数时候我们其实并没有明确的招新计划和相应的实施标准,导致团队难以吸引新人加入,并且在面试时出现了标准不统一、拖延、无法有效确认是否录取等状况。

为了解决以上客观存在的问题,我撰写了本文,作为以后团队招新的标准。如果你是团队负责人,请仔细阅读本文。如果你是面试官,请着重阅读“面试”和“加面”小节。

本文欢迎各位进行完善,根据团队未来的发展进行适当的修改和整理。如有需要完善的地方,请直接向 GitHub 上的项目提交 Pull Request,并在文末贡献名单上加上自己的名字!

招聘流程

招聘流程主要有以下几个阶段:

  1. 准备:需要进行宣传、新人培养、文案编写、宣讲主题准备等
  2. 筛选:根据上一阶段收到的简历或作品,筛选出合适的候选人
  3. 面试:电话面试或者现场面试,根据评分标准给出分数和意向
  4. 加面:假如上一阶段的面试无法确定最终结果,可以进行加面
  5. 意向确认:包括团队和候选人双方的意向确认

准备阶段

团队新人的来源有以下几个渠道:

  • 熟人介绍
  • 计协开发部
  • QQ 群宣传
  • QQ 空间宣传
  • 宣讲会(暂无)
  • GitHub/Gitee 项目贡献者(暂无)

根据目前阶段团队的实际情况,新人的来源主要为熟人介绍,这种方式的优点是省时省力省心,不需要做过多准备。但这不是一种可取的招新方式,因为其变数较多,不够稳定。团队应该在每个学年的开始便做好招新的准备,着手编写招新文案(可以重复利用上一年的文案),在文案确定之后,通过新生群、系总群、校总群、技术交流群、QQ 空间等渠道投放,需附上团队接收简历或者作品的邮箱和团队技术交流群群号(589024367)。文案应当简洁扼要,包括团队基本情况介绍、优势、技术栈、理念等部分。

由于团队与计算机协会的渊源,我们应该重点关注计协开发部的成员,通过各种渠道取得他们的联系方式,进行熟悉和培养。对于大一新生,可以邀请其在有空时到团队参观。在某种程度上,团队与计算机协会可以相互进行宣传,比如在电脑义诊的时候,摊位前面可以摆着团队的标记,团队在必要的时候为计协提供技术支持。

团队目前缺少举办宣讲会的经验,所以这方面需要在未来进行完善。宣讲会也是一个重要的招新渠道,在有精力举办的情况下,应该进行尝试。关于宣讲会的形式,可以由团队中演讲能力以及技术能力高的成员针对某一技术编写 TOPIC,在讲解技术的同时宣传团队。

团队后期如果有开源项目的计划,可以尝试在校内进行宣传,假如有项目贡献者,可以从贡献者中招聘新人。这需要有一个熟悉使用 GitHub/Gitee 管理一整套工作流程的团队成员。

筛选阶段

筛选阶段只是对收到的简历或作品进行大致的筛选,从而确定候选人,主要应该关注以下几个方面:

  • 技术广度:是否乐于探索陌生技术的体现
  • 技术深度:是否对于某一方面技术有钻研
  • 代码:是否遵循代码规范,代码可读性,代码结构是否清晰
  • 个人经历:大学前是否接触过计算机技术,是否有项目经历
  • 成绩:对于大一新生,这是一个重要的标准,请不要选择性地忽略
  • 年级:原则上,团队主要招新方向为大一和大二学生,大三学生可酌情通过,不招聘大四学生

面试阶段

面试阶段应当包括以下流程:

  1. 将候选人拉入团队技术交流群(589024367)
  2. 确定面试时间和方式
  3. 面试官自我介绍:姓名、年级、专业、技术方向等
  4. 候选人自我介绍
  5. 个人经历考察
  6. 技术能力考察
  7. 问答环节

面试过程中,面试官应该注意以下原则:

  • 优先选择电话面试或者现场面试,尽量不要通过邮件和 QQ 文字交流
  • 尊重候选人,耐心倾听,准时
  • 切忌聊起技术便滔滔不绝,面试是为了确认候选人是否适合团队,而不是展示面试官的个人技术水平
  • 在一些有意见分歧的技术问题上,不要浪费时间企图驳倒候选人,而应该将问题的讨论放到面试之后
  • 问题的设计上,应当着重考察候选人解决问题的思路,而不是某一技术细节
  • 在候选人遇到困难时,应当适当地进行引导,或者放弃当前话题
  • 不同年级的候选人,对于技术的理解可能也不尽相同,所以问题应该作相应调整
  • 面试题目尽量选择场景题而不是简单的算法题或者技术问题

评分标准

在面试准备阶段,请参考该标准设计问题。在面试过程中,请参考该标准对候选人进行评分。该标准为了方便拓展,设计为百分制,分为四大板块。其中技术占比 40%,个人经历占比 20%,个人态度占比 20%,其它能力占比 20%。

说明:由于团队以技术为核心,对于技术能力的关注至少应该占一半,所以其中技术和个人经历部分总占比 60%,而对于一个人的态度和其它能力的考察也是必要的,所以另外两部分各占 20%。

技术

面试官根据候选人所在年级和专业情况的不同,准备适合面试的题目。大致可以分为三档,分别对应大一、大二、大三学生。

  • 大一:部分大一新生进入大学之前没有学习过编程,所以着重点应该是课程上学习过的技术和计算机基础,并且考察解决问题的能力

    • C 语言基础:包括对指针理解程度、对 C 语言内存分配的理解
    • 计算机基础:多久前开始接触计算机、使用计算机做过什么事(折腾硬件、破解密码)、是否能熟练解决一些计算机常见问题(重装系统、解决网络问题)
    • 是否在学习其它技术:前端、数据结构等,可以根据实际情况设计问题
    • 简单的算法问题:排序、二分查找、计算复杂度等等
    • 是否用代码做过什么作品(课设、游戏、小项目),遇到过什么坑
  • 大二

    • 根据候选人的发展方向选择具体技术问题:Java / .Net / Golang / 安卓 / 前端 / 美工 等
    • 数据结构和算法基础
    • 对于面向对象和面向过程的理解(拓展:对于面向切面和函数式编程的理解)
    • 框架的使用:Spring / Struts / Vue.js / React / JQuery / Bootstrap / Django / Beego 等
    • 数据库:简单的增删改查和建表 SQL 语法
    • 其它基础技术:NoSQL / Git / Linux / Markdown 等
  • 大三:

    • 包含以上大二板块所有问题
    • 计算机网络基础:网络分层,网络协议
    • 操作系统基础:内存管理
    • 设计模式
    • 网络安全:常见的攻防手段和原理
    • 并发模型、抢占式多任务与协作式多任务、IO 多路复用等

以上标准并非每一项都需要进行考察,面试官可以根据候选人的实际情况考察其中的某几项。建议挑选其中的四项,每一项占比 10 分。

个人经历

  • 项目经历:参与过什么项目,在项目中完成哪些功能,遇到过哪些问题,通过什么方式解决
  • 学习经历:通过什么学习技术,读过什么书籍,是否习惯阅读官方文档和外文资料
  • 个人经历:使用技术做过什么值得说的事(参与开源项目、个人项目、帮妹子解决电脑问题等等)

个人态度

  • 对于技术的热情:是否乐于尝试新技术,是否乐于花时间在钻研技术上面
  • 对于团队的热情:是否乐于参与团队事务,为团队做贡献

其它能力

  • 沟通能力:是否能顺畅交流
  • 思考能力:是否能通过思考提出解决问题的思路(建议给出实际项目场景,要求给出解决方案,如短链接解决方案、身份验证方案、权限验证方案等)
  • 逻辑能力:逻辑是否清晰

评估阶段

  1. 面试官在面试之后应该向候选人说明出录取结果的具体时间(一般限制在三天以内)
  2. 面试官面试后立即在团队面试官页面中记录面试情况、细节和评分,具体评分模版和需要注意的点请查看 Pinned 面板
  3. 通知团队负责人(大三 / 大四 / 在外工作一年的负责人)到面试官页面中查看面试情况,根据团队当前的实际需求,判断是否录取或者加面
  4. 只有超过三分之二的负责人同意录取,才可以正式录取候选人

加面阶段

如果面试官对于候选人是否适合团队无法下结论,或者团队负责人对于面试结果有疑问,可以进行加面。加面一般由团队负责人负责,尽量选择现场面试,可以多人参与。加面阶段没有特定的标准,主要是根据上一阶段面试的情况进行考察,除此之外面试官可自由发挥,评分标准与上阶段相同,并且也需要记录面试情况。

加面的形式:

  • 代码作业,情景题,限时完成
  • 现场面试,打码,考察思考能力和学习能力

意向确认阶段

在确定录取候选人后,应该带领候选人参观团队环境、熟悉团队理念和一些规章制度、并且确认候选人没有同时加入其它组织,确认无误之后才可以正式加入团队。鉴于已经有过确认意向过慢导致候选人加入其他组织的情况发生,请各位负责人和面试官注意:意向确认务必在三天内完成,必须在确定录取之后立即告知候选人!如果无法及时完成,应该向团队负责人和候选人说明情况。团队负责人应该主动监督面试的意向确认环节,否则将对负责人进行追责。

贡献人员名单

该名单按照字母顺序排序。

CHANGELOG

  • v0.1 2017/12/04 编写文档初稿(GanZiQim)
  • v1.0 2017/12/05 新增通过项目贡献者招募新人和与计协合作的构想、添加脚注(wj-Mcat)、对文本进行校验(YXIAOL)
  • v1.1 2018/03/20 规范文档格式(GanZiQim)
  • v1.2 2018/04/12 使用盘古插件进行格式化,增加意向确认的时限和追责,面试和加面形式小改动(GanZiQim)
  • v2.0 2018/04/23 微调面试阶段筛选标准、流程和技术要求,意向确认细化为评估阶段和意向确认阶段(GanZiQim)

学生是最纯粹的兴趣团体动物,追求他们认为牛逼的东西,所以一些人聚集在一起,开始搞事情,队友、朋友和激情是他们之间信任的纽带,也是整个团队能够长久存在的核心。