查看原文
其他

【解读】技术面试官到底想要什么样的人?

channingbreeze 苦逼的码农 2019-03-29

来源:互联网侦察 | 作者:channingbreeze


一次经历


我之前面试过很多人,比如问到最小栈的题的时候,有些人直接能够给出用索引的方法,但是我问他为什么要存索引而不直接存最小值,他答不出来。


这种人很难过我的面试,他虽然能给出答案,但是并不知道为什么,我认为他没有深入思考过,只是记住了这个答案。


我倒是更希望找到那种从零开始一点点分析,一点点优化,每次优化都是有理有据的人。能够有清晰的思考过程。这种人无论是交流起来还是今后共事,都会感觉非常棒。


为什么面试现场如此强调算法效率?


有人说面试现场总是优化优化再优化,优化得这么好有用吗?现在硬件这么发达,搞一个o(n2)的算法又有什么关系呢?


这里要注意几点,面试现场不是工作现场,面试是你和其他候选人在竞争。如果别人给出的算法效率更高,也能解释清楚,毫无疑问我会选别人。


所谓面试造火箭,工作拧螺丝。给你一道造火箭的面试题,不是真要你造火箭,而是要看当你接受到这个任务的时候,你能完成多少,能想到多少方法,能有多少思路。至于火箭最后有没有飞起来,并不是我最关心的。


总结


说到这里大家应该明白了吧?面试官真正想看到的是完整的思维过程,灵活运用数据结构和算法的能力,以及多种思路。


面试官想要有思考力的人,而非只有记忆力的人。

面试官想要思维过程,而非一个最终结果。

面试官想要多种解法并对比优劣,而非一个所谓标准的最好解法。


我在面试别人的时候经常问的三个问题:

为什么要这样做?

这样做的时间和空间是多少?

还有没有别的方法?


如果你在做题的时候能经常问自己这三个问题,到面试的时候一定不会慌。


另:这位朋友还写了很多很棒的文章,分享给大家,部分面试现场的文章如下,,感兴趣的可以关注一波哦


【面试现场】如何在10亿数中找出前1000大的数

【面试现场】如何在500w个单词中统计特定前缀的单词有多少个?

【面试现场】如何找到字符串中的最长回文子串?

【面试现场】如何编程解决华容道问题?

【面试现场】为什么要分稳定排序和非稳定排序?

【面试现场】如何实现可以获取最小值的栈?

【面试现场】如何判断一个数是否在40亿个整数中?


推荐阅读

被面试官问到“三次握手,四次挥手”时该怎么回答?

求求你规范下你的代码风格

为什么C语言不会过时?


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存