浅谈后端面试指南

面试是一次双向的沟通过程,对求职者而言是找到心仪的东家,对公司而言是招揽合适的人才。面试官的目的是考察求职者能力,评估和岗位的匹配程度,绝非用稀奇古怪的题目面倒求职者。

本人近两年面试大几十位求职者,深感作为一个面试者不易,做好一个面试官更难,如何在极其有限的时间内准确的考察出求职的技术能力,对面试官的考验很大。本文关注服务端技术能力的考察,包括考察的范围、方式和注意事项。性格、合作能力、抗压能力等的考察不在本文讨论范围内。


态度指南

古有周公吐哺、三顾茅庐的佳话,优秀的人才从来不乏东家,所以请尊重求职者,纵然无缘招揽优秀的人才,也要赢得面试者的好评和名声:

  • 求职者慕名而来至少出门迎接、给瓶解渴水吧
  • 营造宽松良好的面试氛围,让求职者正常发挥
  • 控制好时间,不予太长,亦不宜太短
  • 面试的过程请保持耐心,认真听取,切勿打断求职者,切勿过分争论和反驳
  • 面试结束后尽快给予求职者反馈

技术考察

技术考察主要覆盖基础知识、专业知识和逻辑思维三方面。首先了解求职者经历的项目以及在该项目中承担的角色和工作内容,再以项目为切入点,由浅入深的提出和基础知识以及专业知识相关的问题,要特别注意这些问题的连贯性,从而考察面试者的功底、逻辑性和解决问题的思路。为了缓和氛围,还可以提一些开放的问题,那些钟情于技术的 geek 们,在这类问题往往能回答的深入和透彻。

  • 基础知识
    • 熟练掌握一门语言
    • 熟悉基本的数据结构和算法
    • 熟练使用 Linux(Windows),对操作系统原理的理解
    • Optional: 数据库、Web Server 和 TCP/IP 等
  • 专业 & 经验
    • 专业知识的考察因业务而异,求职者应该需要了解整个项目的功能,明白自己模块承担的角色,熟悉模块的业务流程以及针对该业务使用到的技术框架,某些特殊的业务可能会用到算法。
  • 开放问题
    • 你使用过哪些语言,对比它们的异同,谈谈你的感受?
    • 你喜欢哪些技术书籍(博客)?
    • 哪些软件你觉得很棒,为什么?
    • 你通过什么渠道学习新技术知识?
    • 你解决过哪些令你难忘的 bug,并说说解决的过程?
    • 谈谈个人计算机(互联网网络)的发展历史?
    • 谈谈你敬佩的工程师?
    • 谈谈测试的重要性?

一点感受

  • 不推荐纯粹的数学题、智力题等考察题目
  • 不推荐压力面试,群面等面试方式
  • 不推荐做题、现场写代码(时间成本太高,伪代码除外),不推荐询问杂而无连贯的问题
  • 能给出 github 的求职者往往具有更强的竞争力

面试的方式和考察重点因人而异,本人认为这种方式的面试效率较高,既适合现场面试、又适合电话面试,非常注重基础功底,基础功底扎实的工程师编程能力、学习能力和调试能力都比较强悍,因为外部各异的技术归根结底总是有诸多相通之处。



相关文章

发表评论

Comment form

(*) 表示必填项

2 条评论

  1. 李清泉 说道:

    写得很棒!
    这篇文章主要从面试者的角度谈了一下,让我们程序员明白到面试者的难处。不过我建议作者可以谈谈面试过程的风格,比如面试者应该表现严肃还是表现亲和,如何跟据被面试者的面试情况判断他的能力。比如他没有回答上来,是不是就代表他真的不会?会不会他只是正好某一个知识点忘记了,但是基本知识他还是懂的。面试时,是否应该问那些需要死记硬背的知识。

    Thumb up 0 Thumb down 0

  2. galy 说道:

    感觉能提供github主要是考察是否有实战。毕竟现在培训出来的太多,很多没有软件专业的素养。置于是否数学和数据结构。我觉得还是看自己的工作。我公司的java基本都是和大数据或者简单的机器学习挂钩,如果数学底子不行,我们基本就不录用了。当然还是看各个公司的需求。

    Thumb up 0 Thumb down 0

跳到底部
返回顶部