阅读更多

12顶
3踩

非技术

公司招聘面试事宜是一个耗时耗钱的项目,从挑选简历开始,还要花更多的时间面试候选人。有的时候这些人才机构会向你保证这些人都是Java天才、SQL专家、堆栈开发者等等,但实际上真实情况远不及你想想的。

 

对于一个公司来说,执行招聘面试事宜是一个耗时耗钱的项目,从顾问公司和人才中介挑选出合适的简历之后,还要花更多的时间找出合适的候选人。有的时候这些机构会向你保证这些人都是 Java 天才、SQL 专家、堆栈开发者等等,但实际上如果你盲目的信任他们并邀请应聘人员参加面对面的面试的时候,你会很失望的。所以我觉得最快的甄别方法就是先电话面试,之后再根据他们的表现采取面对面的交流。


为了获得更多的反馈信息,提高自己的方法,在这里先和大家分享一些自己工作以来使用的筛选出来的编程问题,从这些常见的编程技巧里面选出两个左右的问题,例如Java、SQL、XML、编程、编码、OOPS、多线程和UNIX。和期待你说出对于同一技能的考察有什么好的方法。

 

下面是我列出的如何过滤和筛选出不同编程技能的问题,这主要有两个目的,一是为了给面试者热身,另外就是帮助主考官剔除不会编程的“程序员”,那些SQL 专家尽然不会编写 JOIN 查询。

 

在 SQL 方面,我的第一个筛选问题就是请他们描述一个 Left Outer Join。不需要说得多么精准,我只是想看看他们有没有做过除了 two table inner join 之外更多的东西。根据他们的回答我会问他们古典SQL查询,以核实他们是否知道这样的原理以及如何应用这些知识。如果他们使用 Inner join 而不是 left outer join 的话,估计就会错过成为正式员工的机会了。


在 Web 开发方面,首先提的问题是解释一些一个 GET 和一个 POST之间的区别。这里我至多就是想知道他在 URL 里面通常看到的 GET 是什么,以及在 HTML Forms 里 POST 是什么形式的。根据他们的回答,还可以继续问一些关于 GET vs POST 使用限制、安全性等问题。这些问题完全足够让你明白眼前这个人对互联网是否有真正的了解。


在 UNIX 方面,其中一个比较流行的筛选方法是相当简单的:你是如何找到一个特定的程序并解决问题的?我期望他们能告诉我关于 ps、grep 和 kill 之类的命令。同时也想测试一下他们对ps options 的理解程度。第二个筛选问题就是在 UNIX 系统里找出大量的文件。千万别误会,如果应聘者不能回答这些问题的话,那么他很难在这个有大量程序和服务器连接的项目中完成任务。


在招聘 OOPS(Object Oriented Programming)方面,请他们讲述一下 Class 和 Object 之间的区别。这样的安排主要是想他能够在描述定义的基础上讲一讲构建项目的蓝图,关键是想测试回答问题的人如何理解概念,并且不会被概念所困扰。接下来就是请他举个例子,根据他的例子来问他,在什么地方创建这个对象,由谁来创建等等。


招聘程序设计人员,尤其是提到代码,最流行的将鱼目混珠的程序员剔除的问题是 "Fizz-Buzz" 测试。如果一个程序员无法在10-15分钟之间写出一个 Fizz-buzz,那他可能需要更多的锻炼,或许根本没有准备好。另外一个方法就是让他们写 Fibonacci series(斐波纳契数列),并请他们优化一下。大家都知道 Fibonacci 是非常常见的,但是你可能会很惊讶的看到这些程序员很难在之上写出这些数列,即使是在 IDE 上也写不出来。


在 XML 方面,我的问题是请他们说出 DTD 和 XML Schema 之间有什么不同?有些人可能会说只用一个问题来判定某人的 XML 技能是不是有点太苛刻了,可我要说,这只是一个基础问题。有很多程序员之前是从事 XML 工作的,现在也是可以从事 XML 工作的,但他们对这一基础的了解完全不够,所以说他们有责任区学习更多的基础知识,光会工作是不够的,你还要不断地填充大脑里面的空白。


在 Java 方面,我会让他们说说 JDK、JRE 和 JVM 之间有哪些差异?这也是一个基础性问题,我希望所有有 Java 工作经验的,或者是学习过 Java 的人都应该知道这三者之间的差异。还有就是我希望他们都能自主的提到有哪些 JDK 工具,至少可以说出 Javac(Java 编译器) 和所有Java程序里都会用到的 JVM。另外一个问题就是 PATH 和 CLASSPATH 之间有什么不同之处?如果你不知道这两者之间的区别,那我真的很难有把握把你们调教成优秀员工,因为你在创建项目过程中将会遇到很多噩梦般困难:特别是调试和修复 ClassNotFoundException 和 NoClassDefFoundError 的时候。


在招聘 Java 或其他语言方面的多线程开发人员方面,筛选问题是要求候选人编写代码来避免“僵局”的出现。问这个问题的时候可以提供一个特别的场景,或者问如何编写代码这样“僵局”就不会出现了。如果你有足够的面试经验的话,你会很吃惊,因为那些有着2-4年编程经验的程序员通常没办法正确的回答这个问题。


在数据结构和算法方面,我问的第一个问题就是如何从链接表里添加和删除组件?因为我相信作为一个程序员就一定知道数组、链接表、集合、映射和文字列算法。


我知道,和应聘者拉家常谈琐事并不是发现程序员的好方法,但是你问出来的问题和应聘者的工作经历是息息相关的,这可以帮助你区分谁有真才实学,谁只是虚张声势。最好的方法就是坐下来和他们面对面的交流,讨论他们之前做过的项目,或者是和你结对编程来证明自己的实力。

 

询问他们之前的工作中做值得他骄傲的是什么,他们最想改变的是什么,为什么要改变,怎么改变。一旦问了这些问题,除了人格方面的,在编程方面的能力已经完全展示出来了。如果你有机会面试超过100个人的话,其实你不是在浪费时间和金钱,而是在组织时间和金钱。尤其是在通知他们去参加面对面面试的时候,一定要确保这个人值得你花时间去和他交流。

 

所以,我很迫切的想要知道你们是问什么样的筛选问题来面试这些程序员的,尤其是在招聘 C、C++、Ruby、Python 或者是 JavaScript 开发者的时候。

  • 大小: 30.4 KB
  • 大小: 29 KB
  • 大小: 33.2 KB
  • 大小: 29.8 KB
  • 大小: 28.1 KB
  • 大小: 16.6 KB
  • 大小: 12 KB
  • 大小: 12.4 KB
  • 大小: 19 KB
  • 大小: 27.4 KB
来自: CSDN
12
3
评论 共 6 条 请登录后发表评论
6 楼 weilikk 2014-10-09 14:57
一般技术面试官没那个功夫电话面试问那么多,所以还是要hr来问皮毛
5 楼 feinimoshu199347 2014-09-30 14:12
看样子我连面试官都见不着啊
4 楼 shusansheng 2014-09-29 19:05
堆栈开发者???????
3 楼 chried 2014-09-29 17:09
继续加油吧
2 楼 andilyliao 2014-09-29 15:23
这是hr的面试??
1 楼 J2EE大鸟 2014-09-29 13:34
还需继续努力

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 面试中如何剔除“鱼目混珠”程序员(转)

    对于一个公司来说,执行招聘面试事宜是一个耗时耗钱的项目,从顾问公司和人才中介挑选出合适的简历之后,还要花更多的时间找出合适的候选人。有的时候这些机构会向你保证这些人都是 Java 天才、SQL 专家、堆栈开发者...

  • 面试准备

    面试中如何剔除“鱼目混珠”程序员 http://www.techug.com/how-to-get-rit-of-bad-programmmer 学语言: codeacademy side projects www.udacity.com Mobile: android: online ...

  • Java中常用的网站

    Java中常用的网站

  • 程序员的成长和代码行数的关系

    程序员的成长和代码行数的关系 346 分享   分享到新浪微博 分享到QQ空间 在2011年John D. Cook写了一篇博客,其中提到: 我的朋友Clift Norris发现了一个基本常数,我称之...

  • 你知道面试官是如何刷人的吗

    转载自 你知道面试官是如何刷人的吗 对于一个公司来说,执行招聘面试事宜是一个耗时耗钱的项目,从顾问公司和人才中介挑选出合适的简历之后,还要花更多的时间找出合适的候选人。有的时候这些机构会向你保证这些人...

  • 面试中常从哪几方面问问题

    在 SQL 方面 ,我的第一个筛选问题就是请他们描述一个 Left Outer Join。不需要说得多么精准,我只是想看看他们有没有做过除了 two table inner join 之外更多的...面试中如何剔除“鱼目混珠”程序员? 》

  • JDK,JRE,JVM的区别

    面试中如何剔除“鱼目混珠”程序员? ,看到了面试时有问到最基础的问题:JDK,JRE,JVM的区别。自己也不是很懂,于是就百度了一些资料,以下全是我从百度知道里copy过来的,原文链接: JRE与JVM、JDK的区别 1、JVM...

  • FizzBuzz and Fibonacci优化

    面试中如何剔除“鱼目混珠”的程序员   看到里面这段: 招聘程序设计人员,尤其是提到代码,最流行的将鱼目混珠的程序员剔除的问题是 “Fizz-Buzz” 测试。如果一个程序员无法在10-15分钟之间写出一个 ...

  • WebAudioAPIError(解决方案).md

    项目中常见的问题,记录一下解决方案

  • avnet(安富利)网站详情页数据样例

    avnet(安富利)网站详情页数据样例

  • 1-全国各地区建筑业-二级专业承包建筑业企业利润总额2005-2012年-社科数据.zip

    该数据集涵盖了2005至2012年间全国各地区二级专业承包建筑业企业的利润总额。这些数据不仅包括了原始数据,还提供了线性插值和ARIMA填补的版本,以便于研究者能够根据不同的需求选择合适的数据形式进行分析。数据集中包含了行政区划代码、地区名称、是否属于长江经济带、经纬度信息、年份以及利润总额等关键指标。这些指标为评估企业的经营效益和盈利水平提供了重要依据,同时也反映了建筑业在不同地区的发展态势。数据来源为国家统计局,确保了数据的权威性和准确性。通过这些数据,研究者可以深入分析建筑业的经济贡献及其在宏观经济中的作用,为政策制定和行业规划提供数据支持。

  • CentOS6.4X64安装Oracle11g中文2.05MB最新版本

    本文档主要讲述的是CentOS6.4 X64安装Oracle11g;在CentOS安装oracle11g比安装oracle10g简单很多,oracle可以不设置比如OS内核参数、防火墙、环境变量等,所以实施时推荐安装oracle11g。感兴趣的朋友可以过来看看

  • 发动机零部件质量信息反馈及处理表.docx

    发动机零部件质量信息反馈及处理表.docx

  • 1-全国省市县土地利用类型面板数据2009-2021年-社科数据.zip

    全国省市县土地利用类型面板数据2009-2021年是一项详尽的数据集,它基于土地利用方式和地域差异,对土地资源单元进行细致划分,反映了土地的用途、性质和分布规律。该数据集涵盖了全国各省、地级市、县的土地利用类型,包括耕地、园地、林地、交通运输用地、水域及沙地等多种土地类型。时间范围上,省级和地级市的土地利用类型面板数据覆盖2009至2021年;县级土地利用类型面板数据则从2019年开始至2021年。数据指标丰富,包括行政单位、年份以及各类土地利用的具体分类,如水田、水浇地、旱地、果园、茶园等,以及城镇村及工矿用地、交通运输用地、水域及水利设施用地等。这些数据为政府决策、规划编制以及土地资源管理提供了坚实的数据基础,有助于全面了解土地资源的利用状况,并为未来的规划和管理提供支持。

  • MediaError(解决方案).md

    项目中常见的问题,记录一下解决方案

  • 前端跳槽突围课:React18底层源码深入剖析(完结21章)

    好课分享——前端跳槽突围课:React18底层源码深入剖析(完结21章)

  • 1111java后端1111Controller

    1111java后端1111Controller

  • 嵌入式系统开发-STM32单片机-电子春联-代码设计

    嵌入式系统开发-STM32单片机-电子春联-代码设计

  • 潜在失效模式及后果分析(FMEA)应用流程.docx

    潜在失效模式及后果分析(FMEA)应用流程.docx

Global site tag (gtag.js) - Google Analytics