一.保持冷静,搜集信息
这是第一条,也是最重要的一条。
在面试的时候难免紧张,如果面试官的提问一下子毫无头绪,肯定会更加紧张。所以最重要的是保持冷静,千万不能自乱阵脚。
当然,只冷静是不够的。冷静下来之后,有一件事一定要做,那就是再分析一下面试官的问题,看看有没有理解错,有没有什么信息缺失
除了确认题意之外,其实我们还可以通过询问搜集一些信息。如果是算法题的话,可以试着问一下数据的范围和时间的限制。数据范围和时间限制有了,基本上就可以确定算法的复杂度了,复杂度确定了可以大大缩小算法的范围,解决问题就容易多了。
二.杜绝沉默,适当表达
这也是很重要的一点,很多人在面试的时候不把问题完全想出来,或者是不想到最优解就不肯罢休。我自己之前有段时间也这样,有时候能想到解法,但是自己感觉不是最优解,我就会一直想,一直到想出来才跟面试官说。
后来当我自己成了面试官之后,我发现这种做法非常不可取。
因为你不说话面试官并不能知道你的状态,他不知道你是完全没有思路,还是说已经有了想法,还是已经有了一个近似的解法。他得不到反馈,他就不能对你的能力和价值进行评估,所以直到最后一刻才开口的做法是不可取的。
**你要把面试当做一次探讨和沟通,即使一时没完全给出答案,也可以和面试官探讨,阐述你不成熟的想法、思路以及困惑。**很多时候面试官的问题只是为了考察你具体的某个点,只要你答到了,哪怕题目没有完全解开也没有关系。有时候,你的想法可能面试官也没有料到,他会和你一起探讨,探讨的过程当中,也一样能够体现你的价值。
所以不要吝啬开口,勇敢地表达你的想法,哪怕思路不成熟,哪怕只是隐约知道怎么做,也可以试着和面试官分享。
三.回避问题,展示自己
如果面试官问的并不是一个问题或者算法的解决思路,而是一个具体的问题,而这个问题你又刚好不知道,那该怎么办呢?
这种情况的确比较棘手,因为你既不知道答案,也没有办法聊聊思路、旁敲侧击。在这个时候,就需要你用一点技巧,回避这个问题了。