
和猎头一起找大牛程序员,怎么才能不被简历和口才忽悠?
说真的,每次和猎头合作,我心里都挺复杂的。一方面,猎头确实能帮我们接触到一些平时根本挖不动的人;另一方面,他们毕竟不是技术出身,有时候看简历就像看天书,觉得“哦,做过高并发,哦,精通算法”,这简历就往我们这儿塞。结果呢?面试一聊,发现对方可能只是在项目里调用了一个现成的高并发库,对底层原理一问三不知。
这事儿太常见了。钱花了,时间耗了,最后招来一个“面霸”,简历金光闪闪,一动手就露怯。所以,怎么在猎头推荐的海量简历里,或者在面试环节,精准地扒掉那些“水分”,看到候选人的真实水平?这绝对是个技术活,也是个良心活。
今天这篇文章,我不跟你扯那些虚头巴脑的理论,就结合我自己的经验,聊聊怎么像侦探一样,去“审查”一个高端技术人才的真实成色。咱们的目标是:让猎头的推荐更精准,让我们自己的面试更高效。
第一关:简历初筛——猎头眼里的“香饽饽”,可能是你的“坑”
猎头看简历,通常看的是关键词匹配度。比如JD(职位描述)里写了“分布式系统”,候选人简历里有,OK,匹配。但对于我们技术负责人来说,这远远不够。我们要做的是“逆向工程”,从简历的字里行间找破绽。
警惕那些“万金油”式的形容词
你是不是经常看到这样的描述?
- “精通Java、Python、Go、C++”
- “熟悉Spring Cloud、Dubbo、K8s、Docker”
- “对微服务架构有深刻理解”

看到这种,我心里的警报就响了。人的精力是有限的,一个工程师,在职业生涯的某个阶段,能真正“精通”两门语言,同时对一个技术栈有“深刻理解”,已经非常了不起了。如果一个人说自己精通这么多,通常意味着他可能只是都用过,但都不深。
怎么验证? 很简单,让猎头去问,或者在电话初筛里直接问:“你说你精通Java,那JVM的内存模型,特别是 happens-before 原则,能举个你实际工作中遇到的场景解释一下吗?”或者“你说熟悉K8s,那Pod的生命周期管理,或者一个Service的流量是如何精确地打到某一个Pod上的,这个过程能讲讲吗?”
这种问题,不是为了刁难,而是为了快速过滤掉那些只是背过概念的人。真正“精通”的人,会很兴奋地跟你聊细节,甚至会跟你吐槽一些实现上的“坑”。
项目经验里的“动词”比“名词”重要
看项目经验,别光看他用了什么技术栈(名词),要看他在这个项目里具体干了什么(动词)。
比如,一份简历写着:
项目A:负责后端开发,使用Spring Boot和MySQL,实现了用户管理、订单处理等功能。

这描述就很平,没什么信息量。他可能只是个“螺丝钉”,接需求、写CRUD。
再看另一份简历:
项目B:针对秒杀场景下数据库写入瓶颈的问题,设计并实现了一套基于Redis+Canal的异步化库存扣减方案,将TPS从200提升到3500,并解决了超卖和热点Key的问题。
看到没?这里的动词是“设计并实现”、“解决了”。这说明他不是被动地接受任务,而是主动发现问题、分析问题、并给出了技术解决方案。而且,有量化的指标(TPS从200到3500),这非常有说服力。
所以,拿到简历,先别管公司名气大小,直接找那些有“动词”和“量化结果”的项目,这些才是他真实能力的体现。猎头可能不懂TPS是什么,但你可以告诉他,让他重点去问候选人“你在这个项目里最大的技术挑战是什么?你是怎么解决的?最后效果怎么样?”
第二关:技术电话面——用“剥洋葱”法,层层深入
简历过关了,猎头会安排一个初步的技术沟通。这个环节,千万别搞成“你问我答”的考试,那太低效了。我们要用“费曼学习法”的思路——让他讲,你来听,通过不断追问,看他到底懂多深。
从一个他最熟悉的项目开始“盘问”
别一上来就问“什么是CAS”、“讲讲G1垃圾回收器”。这些八股文,背一背都会。我们要让他讲他最得意的项目,然后像剥洋葱一样,一层一层往里剥。
第一层:背景和目标。
“你简历里提到的那个秒杀系统改造,能详细讲讲吗?当时为什么要改造?业务上遇到了什么具体问题?”
这一步是看他对业务的理解。一个纯技术宅,可能只关心技术实现,但一个高级人才,一定知道技术是为业务服务的。
第二层:你的角色和决策。
“在这个改造中,你的具体角色是什么?是主导者还是参与者?为什么选择Redis+Canal这个方案,当时还考虑过其他方案吗?比如直接用MQ?”
这一步是考察他的技术选型能力和思考过程。一个好的工程师,做技术决策时一定是权衡(trade-off)的结果。他会告诉你为什么A方案比B方案更适合当时的场景,可能考虑了成本、开发周期、团队熟悉度等等。如果他只说“领导让我用这个”,那就要小心了。
第三层:深挖技术细节。
这是最关键的一步。针对他提到的技术点,随机追问。
- “你说用Redis做缓存,那Redis的持久化机制了解吗?AOF和RDB在秒杀这种高并发场景下,各自有什么优劣?”
- “Canal是模拟MySQL的slave去拉binlog的,那如果主从延迟比较大,或者Canal自己挂了,数据一致性怎么保证?”
- “你说解决了热点Key问题,具体是怎么解决的?是做了本地缓存,还是对Key做了散列?”
注意,这些问题不是为了问倒他,而是为了看他是否真的亲手做过、踩过坑。真正做过的人,能清晰地描述出当时的场景、遇到的问题、以及解决方案的细节。而只是“了解”或“参与”的人,回答会很模糊,甚至会把官方文档的描述当成自己的经验。
第四层:复盘和反思。
“现在回过头看,这个方案有没有什么可以改进的地方?如果让你重新做一次,你会怎么做?”
这个问题能考察他的成长性思维和总结能力。一个优秀的工程师,永远不会满足于现状,他会不断反思和优化。如果他能说出一些当时没考虑到的点,或者提到如果引入某个新技术会更好,那说明他真的深入思考过。
画图,让他画出来
对于架构设计类的岗位,光说是不够的。在电话沟通或者视频面试时,可以让他开个共享屏幕,或者简单描述一下,让他画一下某个系统的架构图。
比如,“你刚才讲的那个秒杀系统,能画一下它的核心架构吗?数据流向是怎样的?”
一个真正理解系统的人,画出来的图是清晰的、有逻辑的,各个组件之间的关系和数据流向一目了然。如果他画得磕磕巴巴,组件之间关系混乱,那很可能他对整体架构的理解是模糊的。
第三关:现场面试/深度技术面——“纸上得来终觉浅,绝知此事要躬行”
如果电话面感觉不错,进入现场面试(或深度视频面试),就要上“硬菜”了。这个环节的目标是验证候选人的动手能力和系统性思维。
写代码:别做“面试题收藏家”
现在很多候选人都会刷LeetCode,你让他写个“两数之和”、“反转链表”,他可能闭着眼睛都能写出来。这没意义。我们要考的,是他解决一个不那么标准的问题的能力。
好的代码题是什么样的?
- 源于实际工作,但简化过。 比如,让你设计一个简单的内存缓存,要有过期时间,要考虑并发安全。这比直接问“实现一个LRU缓存”更能看出综合能力。
- 有明确的约束条件。 比如,这个API要求QPS达到多少,数据量有多大。让他根据这些约束去选择合适的数据结构和算法。
- 看重设计和接口,而不仅仅是实现。 先让他讲思路,怎么设计这个模块,API怎么定义,然后再写代码。代码写完后,让他解释关键逻辑,或者问“如果这里并发量增大,可能会有什么问题?”
在候选人写代码的时候,你要观察他的习惯。他会先构思吗?会考虑边界条件和异常处理吗?变量命名是否清晰?代码风格是否整洁?这些细节,往往比算法本身更能反映一个工程师的素养。
系统设计:一起“搭积木”
对于架构师或资深工程师,系统设计题是必考项。经典的题目比如“设计一个Twitter”、“设计一个短链接服务”等等。
但很多时候,候选人会背诵标准答案。比如一提到短链接,他就开始说“62进制转换”、“布隆过滤器防碰撞”、“Redis做缓存”……
我们要打破这种“背课文”模式。
正确的打开方式是“互动式设计”。
你作为面试官,应该扮演一个产品经理或者一个有挑战性的同事,不断提出新的需求,看他如何调整架构。
- “好,短链接生成做好了。现在业务要求,我们需要统计每个短链接的点击量,而且要实时更新,怎么改?”
- “如果点击量非常大,导致Redis扛不住了,有什么优化方案?”
- “现在有个新需求,要防止恶意刷接口,消耗我们的短链接资源,你从架构层面怎么考虑?”
通过这种方式,你可以看到他是否能灵活地调整设计方案,是否能考虑到性能、成本、扩展性、安全等多个维度。一个只会背答案的人,在面对变化时会显得手足无措。而一个真正有经验的人,会像搭积木一样,根据需求,稳稳地构建出合适的架构。
第四关:背景调查——听听“别人”怎么说
面试感觉都很好,准备发Offer了,等等,还有最后一步——背景调查。这一步,猎头和HR会做,但我们技术负责人,也应该有自己的渠道和方法。
背调不只是核实工作履历的真伪,更重要的是了解候选人的“软实力”和真实的工作表现。
找对人,问对问题
如果可能,尽量找他以前的直接上级或者关系密切的同事。问问题时,要具体,不要泛泛而谈。
不要问:“他能力怎么样?”(太宽泛)
可以问:
- “他在团队里,主要负责哪块技术?有没有主导过什么重要的技术项目?”
- “如果让你用三个词来形容他的技术特点,会是什么?”
- “在他负责的项目里,有没有遇到过什么棘手的技术难题?他是如何解决的?他在其中扮演了什么角色?”
- “他和同事的技术分享多吗?团队里其他人对他的技术评价如何?”
- “他离职的主要原因是什么?(听一下和他自己说的是否一致)”
通过这些问题,你可以侧面印证他在面试中提到的项目经验是否属实,以及他的团队协作能力和影响力。一个技术再牛但无法与人合作的人,对团队来说可能是个“灾难”。
写在最后
说到底,评估一个人的真实技术水平,没有一招鲜的“必杀技”。它需要我们作为面试官,保持好奇心,保持怀疑精神,并且有足够的耐心去“剥开”候选人的层层包装。
这个过程,其实对我们自己也是一种提升。为了能问出好问题,我们自己也得不断学习,不然很容易被候选人用一些新名词给“唬住”。
和猎头合作,我们是甲方,我们有权利要求他们提供更高质量的候选人信息。把我们这套评估思路和猎头多沟通,让他们在推荐人的时候,也帮我们先做一轮“技术初筛”,这样大家的效率都会高很多。
招对一个人,能成事;招错一个人,不仅浪费钱,还可能拖垮整个团队。所以,多花点心思在“识人”上,绝对是值得的。
企业福利采购
