如何招到一个靠谱的程序员,以及如何应对面试题

【面试】2020软件测试面试题及答案汇总 进大厂,拿高薪offer必备 阅读详情

                                                               

 

  我的上一份工作是在一家世界500强金融集团担任架构师,当时,公司的IT团队规模将近2000人。与其他IT公司一样,程序员的流动性也比较高,而作为架构师,我需要为所在的部门招聘各个层级的开发人员,当然也包括外包。在这长达5年时间里,我面试了大约400名程序员。我并没有参加过任何人力资源方面的培训,也没有正式研究过如何面试程序员,但是我通过对大量程序员的面试,以及录用后效果的观察,得出了一套自己的面试策略,去找到那些真正靠谱的程序员。

1、简历看人 

阅读简历永远是面试的第一步。好的简历一定是正确、清晰并且能够体现候选人最有价值一面的。我首先会过滤掉那些包含错别字,文句不通或没有逻辑性的简历,因为如果一个程序员连自己的简历都不愿意去仔细检查并完善的话,很难想象他写出来的代码质量会如何。接着,我便会重点阅读简历中的项目经验部分,在这里我能够看到面试者的开发经验,技能栈,并且判断他们熟悉的技术框架、工具是否与目前公司要求相匹配。

这里,我还会特别关注面试者是如何来写这部分项目经验的,你需要用尽可能简练的文字来描述项目的背景,你在项目中承担的角色、参与项目的时长,你用到的技术、以及你在项目中的亮点等信息。优秀的程序员们往往有一个共同的特质,那就是善于归纳,并能够一针见血的发现问题或把一个问题说清楚。我经常看到面试者在简历中像写故事一般地描述他们的项目经历,光这一个章节就有好几页,其实这反而会给你减分,因为这会让面试官判断你缺乏必要的归纳能力。

最后你的一些与编程有关的社会化活动,如:你在GitHub上的开源项目,在知乎、V2EX中给他人的解答以及你的个人技术博客等等都会给你加分,因为这说明你对所从事的工作有着极大的热情,并愿意在业余时间去学习和提高自己,就像在我之前的“给职场新人的10点职业建议” 一文中提到的,如果你要成为一个领域的专家,那你必须花费超过10,000小时,而这光靠工作时间是远远不够的。

2、给面试者10分钟介绍自己最擅长的 

当面试者通过了笔试和HR面试之后,你就需要面对面地对候选人进行面试。我远不是什么面试专家,但我有一些自己的独特方法。我讨厌问一些很个人的问题,比如你的职业规划是什么?你为什么想换工作?等等。我更愿意给面试者10分钟时间,让他介绍自己最擅长和最感兴趣的领域。这往往能帮助我很快作出下面的判断:

这个人对他所做的事情是否充满激情 

他们是否能在团队中很有效地进行沟通 

他们是否在专业领域足够擅长 

你的团队是否会乐于和这个人一起工作 

这一招我在面试中用得很多,而实践证明也确实非常有效。

3、基础打牢了吗? 

一般,有一定规模的公司都会为面试者安排机考或笔试,从而能首先筛掉一批未能通过的面试者。另一些规模较小的或初创公司则会让面试官直接进行技术面试。其实,我觉得这两者的差别不大,有经验的面试官往往能够通过几个最简单的技术问题,判断出面试者的技术基础是否牢固,这不是为了证明他有多优秀,而是用来判断他是否是一名合格的程序员。对于我来说,并不看重机考的成绩,因为机试的考题很多能够在网上得到,特别对于一些外包公司,他们总是能够通过各种途径得到考题,从而使得他们推送的外包能够顺利通过笔试。

下面是我经常会问的几个问题(iOS):

block一般用那个关键字修饰,为什么? 哪些情况会引起block循环引用,怎么解决

两个对象之间相互通信 有哪些通信方式 

JSP中 @include跟jsp:include的区别 

static 关键字的作用:

用StoryBoard开发界面有什么弊端?如何避免?



(声明:面试是对自我审视的一种过程,面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价!有兴趣的可以加入iOS开发交流群:681503716,一些面试资料在群文件有共享,希望每一位求职者都可以找到适合的工作)

 

 

 

  这些问题都很简单,但一些基础不牢的程序员往往会在这个时候露馅。当然,根据面试岗位的不同,你还可以有针对性地问一些问题,例如,你需要找一个能写核心算法的程序员(比如银行的总账计算,或者保险公司的保费计算),那么你可以问一些算法相关的问题。

4、技术深度够吗? 

具备牢固的技术基础,一般就可以满足项目中普通程序员的要求了,但如果你需要找的是一个资深程序员,那么你还需要对面试者的技术深度进行考察。我们现在做项目时都会大量使用框架,这能使我们的开发效率和质量都得到提升和保障,但同时也降低了对于程序员开发技能的要求。因此我一般会询问面试者下面的问题,来考察他对所使用框架的掌握程度。

请你描述一下,在这个项目中,从一个HTTP请求发起,到最终的Response返回,它在你的系统和框架内部是如何流转的? 

这个问题往往能够判断出面试者对于相关技术掌握的深度。较初级的开发人员描述的层级往往比较浅,比如使用Spring MVC框架的,只能说到实现一个Controller继承BaseCommandController(甚至很多开发人员只知道继承了一个公司内部框架的基类),至于再往下Spring框架是如何进行内部流转的,就再也说不清楚了。而更资深的开发人员,往往能说出框架内部的实现机制,以及如何调用和处理的。在面试者描述的过程中,你还可以穿插询问一些比较有深度的问题,比如框架中某个类这样设计是哪一种设计模式的体现,采用这样的设计有什么好处等等。这比让面试者默写一个设计模式代码要有效、自然得多。

除了技术层面上的考察之外,对于资深开发人员,还需要考察他们的设计能力。说到软件设计,大部分面试者都能熟练地背出面向对象的三个基本特性:继承、封装、多态,也能把它们的概念描述清楚。但我一般会问下面的这个问题来考察他们的面向对象设计能力。

请用一段程序代码描述我们所在的这间房间。 

我惊讶地发现至少有一半的面试者都很难准确使用Interface和Class来给房间建模,也有一些人会将最基本的代码语法或关键字写错。

5、选择适合所在企业文化的人 

这一点也曾是我经历的一个误区,我总是希望能为团队招到技术能力最强的人,而忽略了他是否与整个公司和团队的文化相匹配。这往往会造成,虽然招到了人,但没过多久就因为理念不同不欢而散的结果,反而给公司带来了损失。让我们看看GitHub的负责人是怎么说的。

我们很严肃地看待我们自己关于招聘流程的哲学。我们希望每一个GitHub员工都了解他们所要面对的环境,并保证他们是能够很好适应的。这包括我们所创造的文化、哲学、计划、错误甚至是晚餐。比起他们的技能是否满足要求,我们更看重他们的潜力以及是否能够适应我们的企业文化。 

我曾在具有鲜明文化差异的不同公司或团队工作,看到许多崇尚开放、开源的程序员在一个相对封闭,具有很多流程以及规范限制的公司中很难发挥,最终选择离开。因此在招聘程序员时,选择合适的往往比选择最优秀的更重要。

6、行为面试法 

行为面试法可能是我在整个面试过程中唯一用到的教科书面试方法。一个程序员是否能够很好地工作,不仅取决于他能否顺利地完成开发任务,更重要的是在遇到一些特殊场景或问题时,他能否合理有效地处理和解决。行为面试法能够帮助我们从面试者描述的过去某一具体事件中,预测未来他在工作中可能的表现。下面便是一个我经常用到的问题。

请谈谈你在这个项目中遇到的最大困难或挑战是什么,你是如何解决的。 

从面试者对上面这个问题的回答中,我能够很好地判断他是否有较强的独立解决问题的能力,而我认为这是除技术能力之外,程序员最应具备的能力。

7、给他们一个虚拟任务 

经过上面的这些环节,你可能对面试者的整体情况已经比较满意,但先别急着下结论。我曾见过能够顺利通过上面所有面试步骤,并且被雇佣的程序员,当他们进入实际工作后却没能把事情做好。

在你确定是否录用他们之前,可以给他们一个虚拟任务。我不是说一个抽象的程序问题,而是指一个真实的,可能就存在于你当前项目中,并且需要在一两个小时之内完成的一个开发任务。我曾经出过这样的考题:

写一个小程序将一个以特定格式(如CSV)存储的文本文件转换为XML格式,并存储为另一个文件。 

你可以给他一台已经配置好开发环境以及IDE的电脑,让他当场编写代码。当然如果时间有限,你也可以直接询问面试者的实现思路,并简单用伪代码来描述处理过程。通过这个测试,你能够看到很多细节,比如面试者是否有良好的编码习惯,异常处理是否规范,代码逻辑是否缜密高效,以及他的开发效率是否足够高。如果面试者给出了非常优秀的解答,那么你就应该能够判断他确实是一个优秀的候选人了,因为我从没碰到过能够通过上面的测试,却在实际工作中无法做好的人。

8、 以上绝不能保证你招到合适的程序员 

你可以在面试程序员时参考上面的这些步骤,对于我来说大多数情况下它们都是有效的,但偶尔也会出错。你需要结合你所在公司和团队的实际情况,提炼你觉得有用的面试步骤,并忽略其他的,最终形成属于你自己的面试策略。另外,你还需要根据面试时的实际情况,随机应变,因为人是最复杂的动物,而面试过程却是需要双方互动的。

想象一下,在你退休之前的未来几十年时间里,你都需要每周40小时地工作,因此无论是公司还是应聘者都应该互相尊重,建立充分的信任,并充分判断是否适合对方后,再确定是否雇用某人或接受一个公司的职位。你的目标不应该是简单的获得一份工作或者雇佣某个人,而应该以获得更多的工作乐趣和建立更良好的工作关系为目的去看待招聘这件事,切忌不要急于求成,就像谈恋爱一样,当双方都有感觉时,一切就水到渠成了。

又到了一年中的招聘热季了,希望每一位年轻的程序员朋友都能找到一份让自己快乐的工作 ^-^


(有一句话叫做三人行必有我师,其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群681503716,进群请、备注编号(朝拜)不管你是小白还是大牛欢迎入驻,正在求职的也可以加入,大家一起交流学习,话糙理不糙,互相学习,共同进步,一起加油吧。)


数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015 想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。 阅读详情

相关推荐

django drf 框架知识点(一)——serializer序列化器_用法全解

【django drf】序列化器:别名设置,全部参数序列化,自定义字段,只读只写,部分更新

qq_59344127的博客 1338

程序员面试及机考完全指南

IT教程精选​整理收集国外IT教程翻译双语字幕,福利大家!本课程将成为您解决每个 编码面试问题 和 竞争性编程挑战的圣经。内容基于我 6 年 努力寻找和解决各种问题并开发 掌握该技能的系统的经验。我介绍了完全相同的内容,这些内容帮助我的学生成绩飙升,让他们在谷歌、Facebook 和亚马逊等顶级公司获得录取,并在 国际竞争性编程竞赛中取得了不错的成绩。课程英文名:The Bible of Coding Interviews & Competitive Programming此视频教程共4.0小时,中英双语字

duoshehuan6005的博客 2335

Oracle ERP EBS R12 GL总帐业务方案 系统操作

本文档是Oracle ERP系统的总账管理模块使用手册,主要包含以下内容:1.系统架构设计,详细介绍多组织架构、会计科目设置等核心概念;2.总账日常操作流程,包括凭证录入、审核、过账等全流程管理;3.特殊业务处理,涵盖预算控制、内部往来、合并报表等专项功能;4.期末处理,说明月结、年结的操作步骤;5.系统设置指南,提供会计科目表、权限控制等配置说明;6.附录包含各业务模块的分录示例和系统操作图标说明。本手册适用于财务人员学习和使用Oracle ERP总账系统,重点讲解系统功能要点和实操步骤。

anpeng2019的博客 1886

程序员笔试面试题汇总

自己面试了三个多月时间,把经常问到的自己不会或叫不准的问题记录了下来,希望对读者有帮助。问题有点多,也可能有重复的问题,越重复表明面试官越爱问,而且自己卡那的次数相对比较多。面试了很多的大公司,也有一些面试经验与大家分享程序员面试经验总结,其中包括面试时要注意的细节等等,都是自己一路面试下来的思考与反思。Java面试越来越难,现在更多的是问:开源框架源代码、开源框架架构图、项目系统整体架构、实际工...

weixin_44331249的博客 996

ST MCSDK V6.2.0实战:手把手教你配置HSO-ST观测器,体验500ms收敛的电机无感控制

本文详细介绍了ST MCSDK V6.2.0中HSO-ST观测器的配置方法,实现500ms内电流收敛的无感电机控制。从环境搭建、核心参数解析到无感启动优化,提供实战技巧和性能调优策略,帮助开发者快速掌握高效电机控制技术。

weixin_28720767的博客 579

滤波算法-呼吸心跳信号检测方法(四)

呼吸心跳信号检测系列文章:信号滤波处理

yjh_2019的博客 6269

阿里三面:算法题+JVM,成功入职字节跳动

前言 前段时间发放了学习资料给予自学java的同学们,自学虽好,但是架不住没有老师讲解重侧点(实际上许多培训班的老师也是水分多多,甚至无实战经验),今天我就抽空把java零基础入门(六个月)的学习重点画出来,在不影响达到工作和进阶的前提下删繁就简!去掉不必要的注水内容! 什么是 Arthas? Arthas 是一款开源在线诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。这是一款开源一年多 GitHub star 2 万,99%

m0_57501730的博客 533

Material Studio中分子动力学模拟得到密度density和溶解度参数

使用sketh工具画出全原子分子,以异辛烷为例子。

handsome213的博客 7315

如何招到一个靠谱的程序员

文/技匠(简书签约作者) 原文链接:http://www.jianshu.com/p/7a88c3df9363 著作权归作者所有,转载请联系作者获得授权,并标注“简书签约作者”。我的上一份工作是在一家世界500强金融集团担任架构师,当时,公司的IT团队规模将近2000人。与其他IT公司一样,程序员的流动性也比较高,而作为架构师,我需要为所在的部门招聘各个层级的开发人员,当然也包括外包。在这长达5

善战者无赫赫之功 的专栏 1179

OPC UA 协议详解

OPC UA(统一架构)是新一代工业自动化标准通信协议,替代传统OPC Classic,具有跨平台、高安全性、标准化等优势。基于TCP协议,支持全平台部署,采用面向对象架构组织数据,提供实时读写、事件订阅、历史数据访问等功能。作为工业4.0核心协议,适用于智能制造、数字孪生等场景,能实现多品牌设备统一接入。相比Modbus和MQTT,OPC UA协议更规范安全但复杂度较高,是大型工业集群互联的主流选择。

eastyuxiao的专栏 723

一个严谨的STM32串口DMA发送&接收(1.5Mbps波特率)机制

本文描述串口DMA收/发机制设计,及STM32串口DMA收/发实现。

只要思想不滑坡,想法总比问题多。 5万+

血泪史!外包如何找到靠谱的兼职程序员?

公司是做线下项目起家的,受到各种不可抗力因素影响改为线上举办。

Python966的博客 633

Linux----Ubuntu系统官网下载iso镜像文件

Linux----Ubuntu系统官网下载iso镜像文件

MQ0522的博客 5万+

程序员用接单平台靠谱吗?浅谈一下十年程序员的看法

后疫情时代,经济下行,这年头社会上就业也越来越卷了,程序员人才市场也日趋饱和。不少人嗅到危险气息,已经开始谋求出路了!

pythonhy的博客 1406

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

有哪些靠谱的程序员兼职平台?

随着时代需求的增长和程序员人才市场的日益饱和,程序员接私活已经不再是一个新鲜的话题了。不得不说,靠接单赚钱是真的爽,感觉会比正经工资收入更奇妙。

Python966的博客 2091

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

各大程序员兼职平台靠谱嘛?看完这一篇文章就够了

搜索”程序员兼职“,能搜索到一堆营销软文,无非也就是你抄我,我抄你,换换顺序,今天我们不光谈优点,特点,还谈谈缺点,和大家关心的服务费问题,让大家看看到底哪个平台靠谱。

pythonhy的博客 1525

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【程序员转行需谨慎】大模型领域靠谱吗?评估后再决定!

面对AI大模型的崛起和应用,程序员们需要积极应对挑战并寻找新的发展路径。只有不断学习、提升自身价值、善用工具并保持创新精神,才能在这个变革的时代立于不败之地。

2401_84495872的博客 615

Python程序员一般通过什么途径接私活?

如果感兴趣的话,不如现在就实践起来,祝大家都接到满意的私活,早一步实现财富自由~

pythonhy的博客 291

程序员自由职业接单,那些平台比较靠谱?

程序员自由职业接单,那些平台比较靠谱?

2501_93198847的博客 1288

程序员靠谱的兼职平台?

成功的平台更上一层楼的代价:压榨服务商成就自己。内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

Python_paipai的博客 1186

如何从一个非科班生转行成为一名合格的程序员?

好随着互联网的高速发展,市场对程序员的人才需求也日益增加,包括很多非计算机相关专业的人也想转行IT行业,但又担心,自己非科班零基础转行,将来找工作会有困难。那么对于非科班出身的程序员来讲,毕业后会不会很难找工作呢?

m0_70486148的博客 981

2025年最新各大程序员兼职平台靠谱吗?避坑指南,收藏这一篇文章就够了,网络安全开发必须掌握_2025程序员还是不适合接单

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!【完整版领取方式在文末!!内容实在太多,不一一截图了。

程序员阿飘 的博客 1120

8个程序员接私活兼职平台,人已赚疯,日入2000,实现财富自由

白天上班敲敲代码,晚上空闲时间兼职接接私活,每月轻松3万+,很庆幸当初选择学了编程,知道了有技术能多吃香!几个收益高接单快非常靠谱的接私活平台,副业接私活风生水起,可谓是主副业两开花,既能提高收入又能锻炼技术。相信有好多人在学编程的时候,都想要去兼职,但是又不知道去哪里兼职。今天给大家分享几个可以接单的兼职平台。

wholeliubei的博客 5762

一个好的程序员有什么特质呢?

程序员想要提升自己,一定要关注到工作中的方方面面。而一个好的程序员,一般都有这些特质

DEVELOPERAA的博客 948

适合程序员的副业,一定有你能够上手的

每个程序员都可以做的副业,一定适合你

xingyu_qie的专栏 1707

【iOS沉思录】如何招聘一个靠谱的 iOS程序员+面试题详解

原文来源链接:http://blog.sunnyxx.com/2015/07/04/ios-interview/ 答案详解链接:https://github.com/ChenYilong/iOSInterviewQuestions 近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更多的感受。经过了前段时间的一大波面试,我们终于找到了志同道合的小伙伴,面试也暂时告一段

Mr_厚厚的博客 3280
上一篇: 侧推ios面试
下一篇: iOS提交AppStore后申请加急审核
bookdiffuse
博客等级 码龄8年 2粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值