程序员面试的时候突然遇到答不上的问题怎么办?

前言

今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办。

误区

在开始讲解之前,先纠正一个误区,那就是对于一场面试而言,最后的结果好坏并不完全取决于面试当中的问题是否都回答了上来。能不能录取和是否回答出所有问题并没有直接的联系。换句话说,我自己经历过的,无论是面试也好,还是面别人也罢,问题没答上来通过的,都答上来没通过的情况太多太多了。

所以对待面试当中回答问题这件事情,可以稍微放平常心一点,不要过于以回答问题为导向。因为很有可能, 你像是背书一样回答出问题之后,面试官反而扣分更多。

好了,下面我将从具体操作的角度讲讲该怎么做

一.保持冷静,搜集信息

这是第一条,也是最重要的一条。

在面试的时候难免紧张,如果面试官的提问一下子毫无头绪,肯定会更加紧张。所以最重要的是保持冷静,千万不能自乱阵脚。

当然,只冷静是不够的。冷静下来之后,有一件事一定要做,那就是再分析一下面试官的问题,看看有没有理解错,有没有什么信息缺失

除了确认题意之外,其实我们还可以通过询问搜集一些信息。如果是算法题的话,可以试着问一下数据的范围和时间的限制。数据范围和时间限制有了,基本上就可以确定算法的复杂度了,复杂度确定了可以大大缩小算法的范围,解决问题就容易多了。

二.杜绝沉默,适当表达

这也是很重要的一点,很多人在面试的时候不把问题完全想出来,或者是不想到最优解就不肯罢休。我自己之前有段时间也这样,有时候能想到解法,但是自己感觉不是最优解,我就会一直想,一直到想出来才跟面试官说。

后来当我自己成了面试官之后,我发现这种做法非常不可取。

因为你不说话面试官并不能知道你的状态,他不知道你是完全没有思路,还是说已经有了想法,还是已经有了一个近似的解法。他得不到反馈,他就不能对你的能力和价值进行评估,所以直到最后一刻才开口的做法是不可取的。

你要把面试当做一次探讨和沟通,即使一时没完全给出答案,也可以和面试官探讨,阐述你不成熟的想法、思路以及困惑。很多时候面试官的问题只是为了考察你具体的某个点,只要你答到了,哪怕题目没有完全解开也没有关系。有时候,你的想法可能面试官也没有料到,他会和你一起探讨,探讨的过程当中,也一样能够体现你的价值。

所以不要吝啬开口,勇敢地表达你的想法,哪怕思路不成熟,哪怕只是隐约知道怎么做,也可以试着和面试官分享。

三.回避问题,展示自己

如果面试官问的并不是一个问题或者算法的解决思路,而是一个具体的问题,而这个问题你又刚好不知道,那该怎么办呢?

这种情况的确比较棘手,因为你既不知道答案,也没有办法聊聊思路、旁敲侧击。在这个时候,就需要你用一点技巧,回避这个问题了。

首先,你需要先把自己知道的说出来,不知道的或者比较模糊的最好别说。因为技术领域的概念比较多,很多名称比较近似,但南辕北辙,所以强行作答很有可能出现驴唇不对马嘴的事情,这是面试的大忌。知道多少说多少,可是万一实在不知道或者想不起来了,怎么办呢?

想不起来,就是想不起来,千万不要撒谎。但是不撒谎并不意味着没有回旋的余地。你可以说,这个技术平时用的不多,我们某某领域,我对XX技术比较熟,不然我给你讲讲吧。

不要小看了这一小段话,我们仔细分析一下,这一句话当中包含了很多内容。首先,你诚实地告知了面试官,这个问题可能答不上来。然后你告诉了面试官,虽然问题答不上来,但是你知道这个技术或者这个问题是什么方向的。最后你给了一个解决方案,虽然我不知道A,但是我知道近似的B,也能起到近似的效果。

只要这里的A和你提供的B没有太大的出入,一般来说都没有问题。如果实在连近似的答案也没有,那么只能强行讲一些自己擅长的方向了。

比如问你数据库,你实在没用过,强行说自己对JVM很熟悉,也不是不可以。至少要比一句我不知道要好得多。


为什么阿里巴巴的程序员成长速度这么快?

霸榜GitHub的Offer来了原理篇+框架篇,开放分享;

[](https://blog.csdn.net/javache...50W年薪程序员需要的技术栈分析

看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注公众号 『 Java斗帝 』,不定期分享原创知识。

同时可以期待后续文章ing

你可能感兴趣的:(程序员)