<audio id="audio" title="18 | 被面试官问住了怎么办？" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/46/cf/462fcfbcd9d1702990ed1bd14b6ef6cf.mp3"></audio>

再资深的面试官，有时候也会做出错误的决定，那就是把Offer发给了只善于表达，甚至善于表演的人，而拒绝了“只会闷头干活”的人。有些面试官看到了流利的表达、新奇的观点和动人的表白，很容易就会喜上眉梢，但却因此忽略了对工作基础和实践结果的考查。因此，性格外向的应聘者面试成功率更高，可是一旦工作起来，又容易出现团队表面虚假繁荣，但是背后客户怨声载道的情况。

问题出在哪里呢？是在面试的问答上：**对于面试官问的问题，同样知识面的应聘者，可能回答效果完全不同。**

我们这里不说面试官应该如何避免被无效答案迷惑，单从应聘者角度来说说如何做得更好。[“22 | 如何让你的回答](https://time.geekbang.org/column/article/82733)[更到位”](https://time.geekbang.org/column/article/86180)一文，会详细解说如何把握面试官的意图，并简洁精准地回答到位。但是对于很多人来说，即使弄清了面试官的意图，但是受限于自己的认知和思路，也会不知道如何回答。我们下面就仔细分析几种被问住的情况，以及如何破局。

## 问题的层次和归类

在[“03 | 面试官的面试逻辑是什么？”](https://time.geekbang.org/column/article/80838)一文中，我提到面试官探索问题的三个层次，我们稍加回忆一下：

<li>
**表层事实。**问题主要集中在经验和技能上，面试官在各个需要的技能领域，抽样一些典型问题，来扫描应聘者的经验面和技能面的宽度。
</li>
<li>
**深度细节。**问题会深入到某一项技能、经历中，问What、How、Why，此时面试官对你的实践经历更感兴趣（而不是你的照本宣科），包括“最自豪的”“最难的”“最糟的”“最不想干的”等特例情节。面试官通过对这些细节的对比和总结，来探究你技能和思想上的深度，同时了解你的某些潜力和动机。
</li>
<li>
**感受和观点。**只有把知识经验提炼升华，才能形成理论层面的观点和感受。面试问题，你都应在思考中作答。比如问你对某件事情或者技术的评价，对公司发展前景的看法，这些成果有什么意义，哪里可以做得更好时，你的回答将处处展示着你的内在（思考角度、价值观、态度、性格等等），反映你的潜力和做事动机。
</li>

上面的问题又可以归为两类：

<li>
**考验记忆的问题**，比如知识点、某件经历的细节等。记忆类问题的答案就好像存在大脑的存储器里一样，回答时，只要读取就好了。
</li>
<li>
**考验分析的问题**，比如问最难的、最坏的、最欣赏的等等这种“最”字打头的问题，以及为什么、如何看待等问题，需要你找到相关事实，找到区别、联系，抽象出要素，运用逻辑推导，总结归纳结论。分析类问题，不仅需要你读取素材，还得经过大脑的处理加工，就好像运行程序一样，面试官需要你演示大脑运行步骤和结果。但是，如果面试官问的某一个分析类问题，你之前已经想明白了，这时候就变成记忆类问题，你只需要把之前的运行过程和结论读取出来，就好像读取过程日志和运行结果一样。
</li>

综上，问题大致归为两类：记忆类和分析类，记忆类读取大脑数据，分析类不仅读取数据，还要在大脑里运行程序 。

那么，在这两类问题上，有哪些被问住的情形呢？

## 被问住的情形和应对方法

被问住的情形有很多种，我这里列举出如下5种，其他的大家可以文后补充，一起分析。

**第一种，完全不知道问的是什么。**比如你从没有接触过Java，面试官问你Java虚拟机的内存管理问题。记忆类或分析类问题所需要要的信息，在你大脑里都不存在，你自然回答不上来。这时，明智的做法是坦诚地告诉面试官自己不会，并且心里也坦然面对自己的表现。因为面试官在探寻你的知识范围和深度的时候，势必问题会超出你的知识范围，关键看问题有没有超出职责级别的范围。

**第二种，部分知道问的是什么。**实际上，上面第一种情况很少发生。大多数回答不上来的，是对问题内容部分了解，毕竟你面试的不是生疏的职位。比如，问你Java多线程中ConcurrentHashMap的用法，但你做过多线程开发，却没有用到过ConcurrentHashMap。这时，应该怎么办呢？

<li>
首先，要坦诚地告知对方你在这一点上的水平。
</li>
<li>
<p>然后通过变化范围来表达你的整体水平，否则面试官会以这一点上对你的评价，来定型你在整个问题域的水平。<br>
方法是，你可以扩展范围：“虽然我没用过ConcurrentHashMap，但是我在很多项目上做过Java多线程编程，包括XX、XX、XX，需要我介绍下么？” 你还可以加入限定条件，把问题转移到你所知的范围，换一个例子，比如“对于一般Web系统的安全性，我说不好，但是对运行在Tomcat上的，有几条心得，您想听么？”</p>
</li>
<li>
<p>还可以采用变化维度的方法，还记得“[16 | 你真能讲明白技术吗?](https://time.geekbang.org/column/article/84194)”一文中的技术维度模型么？无论是技术、业务还是管理，都有内部设计和外部应用两个维度。如果你对被问的那个维度不熟悉，可以变换到另一个维度上展示你的认知深度。<br>
这有个例子：“虽然我不了解银行信贷业务的内部系统，但是我作为公司财务，经常跟银行打交道，对不同银行的信贷手续很了解。我可以讲出他们业务的差别和优劣来，您想听么？”</p>
</li>

**第三种，想不起来了。**这主要针对记忆类问题，用过的知识点，做过的项目经历，就是回忆不起来了。即使你仔细准备了详历（参见[“12 | 经历没有亮点可讲？你需要做份‘详历’”](https://time.geekbang.org/column/article/82733)），但还是有可能想不起来个别函数调用或者项目文档条目。这时，如果你只是含糊地说个大概印象，恐怕难以让面试官满意。你只好现场尽可能地回忆细节了：

<li>
对于知识点，建议你按照“[16 | 你真能讲明白技术吗?](https://time.geekbang.org/column/article/84194)”一文中的技术维度模型的八个方面去回忆细节。如果你真的用过，总能想起来某个点吧？
</li>
<li>
<p>对于经历，其中重要的部分在详历里应该有涉及。如果面试官问到一个圈外的，你可以按照“常识 - 做法 - 扩展”的思路来辅助回忆。<br>
比如被问到“你在XX项目中如何管理比你级别高的人”，首先讲这个话题需要遵循的一两个常识，“我们是在不同的职责上协作，我不觉得级别是协作的影响因素”；然后回忆该常识涉及的活动，“在这个项目上，我作为产品经理，需要跟比我高两级的资深架构师合作，2周内给客户递交架构设计……”这样你就讲到了一次和高级别同事的合作；然后你可以扩展一下这个话题，“用协作的心态去和同事工作，比用职位高低的心态工作要顺畅得多，即使我和比我级别低的同事合作时，也是这种心态。”</p>
</li>

**第四种，没想过。**这针对的是思考类问题，比如“你觉得架构师和产品经理可以由一个人担任么”。你和架构师、产品经理都合作过，清楚他们的职责范围，但是因为项目中这两个角色从来都没有由一个人做过，所以没有想过这个问题。

这需要你把问题拆成“记忆类”+“分析类”两部分：**回忆**这两个角色的职责、素质和作用等等，然后**分析**它们的区别和联系，看有没有冲突，这个冲突会造成什么影响，进而判断可不可以由同一个人承担。

> 
<p>**小提示：**<br>
不要根据感性的认识，而抢着先说结论，除非你已经胸有成竹了。结论应该随着你表达的思考过程，水到渠成地展示出来，避免你为了圆之前的武断结论而找理由。</p>


**第五种，不愿说。**这种不专门针对某类问题，可能是涉及个人隐私，或者应聘者怕说错了，暴露了什么短处，而不愿意继续这个话题。比如“结婚生孩子”“宗教信仰”等话题。

有一些性格内向的应聘者，可能会表达不积极。这种情况下，可以根据公司的诚信文化，以及面试官展示出来的诚信度，来适当调整自己表达的开放程度。我们在“[14 | 面试答疑（一）：说说你面试中的一些困惑](https://time.geekbang.org/column/article/83822)”一文中讨论过这个问题。注意，最好不要摆出“这个问题我不想谈”的架势，我们建立信任，靠的就是更多地了解对方，尤其是细节。适当地展示一些个人细节，有利于你得到面试官的信任。

总地来看，我们坚持了沟通的两个原则：

<li>
**真诚：**保证发出的信息不失真。
</li>
<li>
**充分：**同步沟通上下文，保证双方对听到的信息没有发生误解。
</li>

上面并不是教给大家话术或者套路，聪明的面试官会过滤掉言之无物的表达。上面这些是一些思考方法和表达原则。诚然，很多情况下，它们并不能给面试官一个满意的答案，但是在你山穷水尽的情况下，它们能够帮你尽量挖掘出贴近面试官“题眼”的信息。

如果你实在没有办法了，我这里倒是真有**一个“话术”（只作为救命用，不要轻易使用）：“您这个问题，我一时想不到答案。不过，我好奇的是，对于您的职位，什么地方用到这项XX呢？”** 这样，在面试官回答使用场景的时候，你就有更多时间和线索来思考答案了。

## 总结

今天的话题，主要针对被记忆类和分析类问题问住的时候，回答时怎么才能尽量挖掘和传达出更多有用的信息。

<li>
如果完全不知道问的是什么，就坦然承认，同时内心也不要难过；
</li>
<li>
如果部分知道问的信息，除了承认自己的水平之外，还要用变换范围和维度的方法，向面试官表露自己的整体水平；
</li>
<li>
对于以前用过、做过，但是突然想不起来的知识点或者经历的记忆类问题，按照技术结构模型的八个方面，以及“常识 - 做法 - 扩展”的思路来辅助回忆；
</li>
<li>
如果你从没有想过面试官的分析类问题，那就把问题转化为“记忆+分析”两步，来逐步提取和思考出答案；
</li>
<li>
对于不愿说的话题，则需要你根据实际情况，调整一下表达的开放程度，展示适当的细节。
</li>

在面试现场，虽然面试官掌握着主动权，但是如果应聘者发现面试官问偏了，不利于展示自己应有的实力，可以适当提醒面试官，改变问题方向，除非面试官坚持原来的问题。

总之，**当面试局面不利于应聘者表达时，应聘者应该抓住一些空隙，适度地做些改变，而不是一直被动地听之任之。**有些强势的面试官反感应聘者挑话题，但是只要你不是反客为主，而是合理地表达出职位所需的技能，省了面试官的“事”，岂不是很好？

## 思考时间

请你在如下问题中，挑一个可能会被问住的，试着回答一下。

<li>
Java 11 的 “本地变量类型推断” 听说过么？讲讲看。
</li>
<li>
什么情况下项目经理可以被产品经理代替？
</li>
<li>
你住得离公司那么远，每天上下班很辛苦，考虑来公司附近住么？
</li>

如果以上问题还不够“狠”，你可以给自己来个更狠点的答答看。欢迎你在留言区分享自己的问答和心得。另外，你也可以把这篇文章分享给你的朋友，看看他在这块有没有什么相关经历和想法。


