如何在面试中发现优秀程序员(转)

我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去。他曾经参与过研制卫星,并且这个卫星现在正在轨运行。他只用左脑都比我能干。但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西。

 

有些人就有这种技能,能在面试中问出正确的问题,发现优秀的程序员。而有些人却害怕提问,畏首畏尾,问一些从网上拷贝下来的问题,自己没主见,只会跟随其他面试官的意见。但面试对于大多数开发人员来说是一项很基本的技能。一次失败的招聘会给一个组织造成很严重的长期的后果,因为很水的雇员会把其他很水的人也带进公司。另一方面,把优秀的应聘者拒之门外对公司也是一种伤害。

一场技术性的面试至少包括三个部分。在第一部分里,我们要做的是看应聘者的简历上写的是否符合实际情况。在第二部分里,我们要评估一下候选者究竟有多少实际经验。最后,我们要用一些问答选项或编程问题来测试这些经验。

第一部分:测试简历的真实性

有一次我跟一位同事面试一个候选人。当面试完之后,我觉得这个候选人还可以,但不是十分出色。可我的同事看起来很不满意。“他撒谎,他说他会XXX技术,可很显然他根本没有做过这种技术。绝对不能要这种人。”虽然这XXX技术对我们公司并不是很重要,“因为他撒了这个慌,”我的同事继续说,“我就不会相信他在简历上写的任何东西了。”

应聘人员应该在简历中用一种很积极的色彩来描绘自己。然而,这种积极的描绘应该有个度,过了这个度,就表达的不正确了。在上面的例子中,我并不和我的同事一样觉得这个事很严重,因为我事先就假设了,简历上的任何东西都是假的,除非被证明。如果简历上说,“擅长于XXX技术”,那么我就认为这个应聘者可能仅是知道XXX技术这个名字。如果简历上说,“在一个开发多线程股票交易系统的团队里工作,”那我就会认为应聘者可能只是为这个系统挑选了一下背景的颜色。我的要求一向不严格,除非碰到了一位有十年工作经验、已经不再写代码的家伙。如果有人说他开发了OpenOffice软件的文本格式化工具,或拥有哲学博士学位,那我们就很容易假设他们有什么技能了。假设一无所有。一切都要证实。

对于简历上每条相关的描述,我会首先估摸一下应聘者的实际情况。然后,我通过下面的交谈来证实。

  • 开发过一个实时操作系统作为练习项目。
    你工作的团队有多大?15个成员?哦,那么,你实际上负责哪部分的?消息队列?很好!请描述一下一个高优先级的任务向一个低优先级的任务发送消息时会发生什么情况?
  • 完全自主开发了一套为无线安全系统使用的音频传输协议。
    你的团队有多少人?只有你?哦,你是如何测试的?你为什么不使用RTP呢?
  • 给XXX引擎修复Bug。
    请你描述一下你曾发现过的一个特别有挑战性的bug,以及你是如何修复它的。

第二部分:发现实际的经验

拥有更多的经验是一个优秀人才的很好的指标。有经验的开发人员都是从犯错误中成熟的。他们知道何时该,何时不该使用设计模式。他们有第六感,能感觉到需求的哪一部分需要修改,哪一部分要保持原样。他们知道何时该偷懒,何时该考究。是真实的经验让优秀的开发者和平庸的开发者之间的差距大的无法跨越。

 

经验

 

 

并非所有的经验都是等效的。很有可能,对于某个人,他通过多年的工作,在很多的任务中写或重新无数的代码,犯了许多的错误,就能获得扎实的技能。而另一种情况,一个人会在十年的时间里只在一个项目里修改了一行代码,没有学到任何新的东西。

 

经验

 

 

发现隐藏的时间

很多伟大的程序员都是在他们大学的第二年就开始编程了。当他们离开学校时,他们就已经有了几年的工作经验了。还有,有些很神奇的程序员在他们很小的时候就开始学习编程的艺术了。我也认识好几个人在他们十几岁或更小时就写出来一些不算小的程序了。这些信息你是在简历上找不到的,需要你在面试中把它们引诱出来。

  • 你是怎么进入到软件开发这一行的?
  • 你曾经学过的第一种编程语言是什么?

经验的密度

很多神奇的程序员只是在他们工作的时间里编码。这很好,工作生活很平衡,你没有理由不雇佣这样的人。然而,在工作和学习之余做一些个人的编程项目是一个优秀的人才的很好的指标。有业余编程经验的应聘者很明显有更丰富的经验,更适合公司。没有个人项目?这里有其他几点也能做这方面的指标:

  • 在很小的团队或小组里工作。
  • 参与过很多各种各样的项目。
  • 对一个大型项目的各个抽象层面上都有很详细的了解。
  • 在一个项目组里作为主要开发者。

第三部分:验证经验

在对应聘者有了一个基本的真正经验水平的感觉后,就开始对他们进行重要的实际编程经验的验证了。几分钟的时间对于一个真正的测试肯定是很不充分的,但也只有这样了。我们可以通过对编程开发的各个领域进行提问来认识应聘者对这些知识掌握的深度和广度。当然了,你对应聘者技能水平的看法会由于你自身的经验水平而有所偏向。对于你不太熟悉的领域你不可能对答案做出正确的判断。所以我们一般同时会有好几个面试官。

工作职务的不同会有不同的面试主题。然而,下面几个领域是很常见的:

  • 数据结构和算法
  • 多线程
  • 字节操作
  • 内存分配
  • 对象,继承,设计模式
  • 递归
  • 汇编知识和程序运行原理

我选择的每个领域都有一个精心挑选的很基础的问题(“什么是一个信号?”)。问题很基础,只要应聘者在这个领域做过一些工作就能回答上这些问题。每个领域都有一些其它的较深入的问题。候选人对这些问题的回答能证明他们到底是不是专业。例如,如果你问一个有经验的嵌入式软件开发人员如何把0×4c转化成二进制,他写出一个4×16+12,这就不是很对了。

编码问题

在完成了上面的步骤后,我通常就已经能认定了这个候选人是否能过关,如果还有困难,那编码问题会帮我扫除最后的障碍。这个很重要,即使在电话面试里也不能漏过。为了行之有效,在面试之前,你要好好的思考和计划要提出的编码问题。问错误了,回答也就没意义了。

首先,问题的选择必须基于应聘者的工作经验之上。如果你想起来3D飞机,想把所有问题都围绕着它进行,这样会有很妙的问题。但你还是省省吧,吃午饭时跟同事说说还行。如果招聘的工作跟3D图形没一点关系,那这个候选人就肯定被不公平的排除掉了。

问题必须精确的表达出来。“写出一个用来移动一摞卡片的函数”,这个表述就十分的含混不清。要给出功能性标题,避免误解,这种事情经常发生。如果你不小心,面试者有可能回答的是一个比你提出的问题更难或者更简单的问题,而不是你想要问的。如果回答的是更难的问题,那还好,除非难题让他目瞪口呆。如果回答的是更简单的问题,那没有什么用处。为了防止浪费大量的时间,在他们答题的几分钟后问一下他们的答题纲要,看看他们的理解是否在正确的方向上。

更进一步

上面的指导并不能解决所有问题。这些主要是针对工作经验。你也许会错过一些没有多少经验但有非常大的潜力的优秀程序员。特别是当面试官想通过一些不用编码的难题来考察应聘者解决问题的能力的时候。

这里所说的这些面试技巧都是要基于一种假设、可能性、内部直觉。假设候选人是一个很出色的开发人员。那一个出色的开发人员应该具有哪些品质呢?你没法直接的测量这些品质,所以你需要想:一个具有这些品质的优秀开发人员对这样一个特定问题进行快速回答的可能性是多少?你不可能通过面试对一个候选人进行100%正确的评价,但通过尽量周全的提问,你会做到很接近这个结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58942.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优秀的程序员都热爱写作

01、注释也是写作 据我所知,优秀的程序员都热爱写作(不止是狭义上的写博客)。如果你能举出一些例外,请一定转告我。 为什么这么说呢? 一个优秀的程序员想要分享一段开源的代码,假如别的程序员看不懂的话…

怎样做一个优秀的程序员?这10个问题ChatGPT这样说 ……

本文目录 1 怎样做一个优秀的程序员? 2 怎样成为优秀的架构师? 3 怎样写容易阅读的代码? 4 怎样做项目管理? 5 怎样学习计算机程序设计? 6 怎样提升个人影响力? 7 怎样提升认知? 8 程序员怎样面试通过几率高? 9 怎样提升研发效能? 10 怎样保障软件系统的稳定…

如何做高中语文阅读理解,答案在这里

语文的阅读主要分成三大类型:现代文阅读、古诗词阅读、文言文阅读。学习任何科目都需要从课前的预习,上课时的重点,课后的整理去学习。在做语文阅读的时候,需要注意老师上课时讲的一些方法,特别是文言文的虚词、句式&a…

恒盛策略-200亿大牛股,跳水!连跌两日,南向资金“逃离”腾讯...

今天早盘,A股商场连续弱势盘整,新能源与半导体板块下挫,连累三大股指持续回调,创业板指跌幅较深。 板块方面,在微软周二宣布Office 365 Copilot使用落地,且定价远超商场预期的提振下,A股人工智能…

上海亚商投顾:沪指小幅震荡微涨 AI应用端持续活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指全天窄幅震荡,创业板指低开低走,盘中一度跌超1.6%&a…

地产巨头卷起来了,裸眼3D都上了

提及到裸眼3D,大家的印象可能是《星球大战》里莱娅公主在一道蓝光里发出了3D版求救信号,可能是《蜘蛛侠》的神秘客用全息幻境迷惑所有人的眼睛,还可能是近期火爆广州的“有轨电车冲进天河路商圈”。 视觉震撼感极强、朋友圈刷屏传播的沉浸式裸…

【无标题】智慧工厂数字孪生建设方案

概述 项目背景 数字化转型是我国经济社会未来发展的必由之路,数字孪生技术作为推动实现企业数字化转型、促进数字经济发展的重要抓手,并在产品设计制造、生产监管、工艺优化、仿真验证起到重要作用。 项目目标 通过多种新一代信息技术手段的应用&#xf…

元宇宙时代下,虚实共生的智慧园区 | 凡拓x平安硅谷

元宇宙蓬勃发展的时代下,园区作为产业发展和技术场景应用创新的重要载体,势必会承载智慧园区一次质的飞跃。借助元宇宙的不断外显,智慧园区也进入了全新发展阶段。 园区元宇宙更强调完全的沉浸式、与现实世界的互动交流以及进入的流畅性。而通…

在未来时空中沉浸探索,体验引领时代的建筑节能展馆

实现碳中和目标,是构建人类命运共同体的重要一环。其中作为耗能三巨头之一的建筑耗能就是碳排放的“常任大户”,是节能减排的关键抓手。 为了更好地减少建筑耗能,“被动房概念”被提出,其是一种通过利用各种生态能源,依…

未来已来,欢迎光临元宇宙世界湾区

宇宙坐标: M34-4602151-b 海珠新城 北纬N23,东经E113,海拔0.04 米 有憧憬 更有未来 “这是我经过356亿光年之后抵达的人类新文明,在此之前,我从没想过会有如此震撼的文明。” 勇于尝鲜的探索者们,和我一起来吧&#…

聚焦元宇宙赋能产业,打造数字世界,“OFweek2023广州元宇宙产业发展高峰论坛”圆满落幕!

2023年4月12日下午,由广东潮域科技有限公司、OFweek维科网共同主办,OFweek人工智能网承办的“OFweek 2023 广州元宇宙产业发展高峰论坛”在广州保利世贸博览馆1号馆盛大举办。 元宇宙产业相关技术及设备,包括VR/AR、虚拟现实、物联…

新起典|2021数字展厅展馆设计与选品沙龙会圆满收官

2021年12月16日,以“跨界造物——新场景 X 新要素”为主题的“2021 数字展厅展馆设计与选品沙龙”在广州新起典成功举办。 本期交流会邀请了来自广东省美术建设集团有限公司,广州市美术有限公司,力方数字集团,凡拓创意&#xff0c…

制造业如何变身数字工厂,让生产管理更高效?

2015年,国家层面首次明确以“智能制造”为主攻方向,正式拉开了中国智能制造发展大幕。 2021年11月,工业和信息化部等四部门联合开展2021年度智能制造试点示范行动,主要包括:智能制造优秀场景、智能制造示范工厂和智能…

农业元宇宙:数字孪生+数字人擘画“三农”新时代

国之根本,农业当兴。为响应2022年中央一号文件大力推进数字乡村建设的号召,凡拓数创重点布局的自研产品“数字人数字孪生”助乡村搭乘“数字快车”,构建乡村治理“一网统管”智慧大脑,数字人助力催生全域数农旅新模式,…

解码元宇宙,深度剖析元宇宙空间+数字人+数字孪生

​元宇宙被认为是互联网下一个篇章,国内多地政府加码推进元宇宙产业布局。更多的行业在“元”热潮的渗透下将迸发出更大的商业活力,尤其是凡拓数创深耕二十余年的数字展馆、会议、广告营销等行业的应用场景,元宇宙与其多元场景的结合将大力提…

元宇宙与数字孪生关系浅析

在大洋彼岸的一家互联网公司进行企业更名,却引发了世界范围对于该未知概念的探讨、激活了国内各类行业的关注与布局。原本尚且只存活在书本、影视作品的概念,被光速推至大众眼前。 图源: IC Photo 出于害怕错失风口、或者其他各种利益、兴趣…

智慧工厂数字孪生建设方案

概述 项目背景 数字化转型是我国经济社会未来发展的必由之路,数字孪生技术作为推动实现企业数字化转型、促进数字经济发展的重要抓手,并在产品设计制造、生产监管、工艺优化、仿真验证起到重要作用。 项目目标 通过多种新一代信息技术手段的应用&#…

文心一言眼里的SQL世界

目录 一、Java基础教程系列二、先听听文心一言怎么说?三、话不多说,开干。1、要有一个正确的数据库学习路线,做一个细致的MySQL学习规划。2、学习资料推荐 四、MySQL基础知识总结五、MySQL进阶六、Redis和MongoDB需要学吗?七、如何…

女网红基于 GPT-4 做了个AI虚拟女友,一周躺挣 50 万!

公众号关注 “中生代技术” 设为 “星标”,每天领略精彩技术! 2023年可谓是 ChatGPT 爆火元年,基于OpenAI的成果,互联网上也诞生了许许多多利用AI赚钱的产品。 最近,国外一位名为 Caryn Marjorie 的网红基于GPT-4做了一…

90% 的交易者都在亏损-KlipC数据教您如何加入10%俱乐部

ESMA (欧盟)和 NFA(美国期货协会)最新数据再次显示:无论是外汇,股票还是期权,80-90% 的零售交易者依然面临着长期亏损的状态。其次,数据非常清楚地显示,杠杆越高,交易员赔…