大厂面试题到底考察面试者哪些方面的能力?

1,425 阅读5分钟

前言

看过很多公司的面试题,也参与过很多公司的面试,发现大厂的面试题更加具有代表性,虽然现在很多大厂的面试官也懒得自己出题了,不过经验老到的他们还是更清楚如何高效率地考察面试者。

而小公司的面试题往往五花八门,有的更加贴近公司自身业务,希望面试者结合业务给出解决方案,有的干脆直接从书本上找题目,考察一些死记硬背的概念,当然,有的初创公司逼格很高,则会搞一些高难度的面试题,角度刁钻,常常让面试者猝不及防。

既然大公司的面试题具有共性,那么我们也不妨来尝试探讨一下,大厂面试题到底考察面试者哪些方面的能力。

1、基础知识

基础知识无疑是大厂面试官最喜欢考察的东西了。如果面试者的基础都不扎实,那么建立于基础知识之上的实战能力、业务能力都是空中楼阁。

说到基础知识,首当其冲的就是岗位要求的能力了,比如对于iOS开发工程师,你需要熟悉iOS底层技术:性能优化、架构模式、内存管理、线程同步等等。

作为一个程序员,你还需要掌握计算机网络、操作系统、数据结构与算法,甚至是计算机组成原理(一般很少考察)。

这些都是最基本的,除此之外,作为一个iOS高级开发工程师,你需要了解当前火爆的Flutter框架,并且能先行一步了解并掌握。

面试官考察这些基础知识的方式很简单,找一些相关的面试题一一进行提问,根据你的回答,基本上就可以了解你对这些知识点的掌握程度了。

2、知识深度

也许上面这些问题,你通过背一些面试题,看一些面经,就能掌握得八九不离十了,毕竟面试官提的很多问题也是在网上找到的,所以你可能会放松警惕,觉得这样就足够了。

其实不然,大厂面试官还有一个爱好,就是对于每个知识点,都喜欢深入往下问,问到没有问题可以问,或者问到你不会为止,这样提问的目的只有一个,就是试探你对这个知识点的理解深度,如果你无法提供足够深刻的回答,结果往往就是失败。

举个例子来说,面试官会问 GCD的一些常用的函数有?(group,barrier,信号量,线程同步)

我们可以这么回答:
1.延迟执行任务函数:dispatch_after(.....)。
2.一次性执行dispatch_once(...)。
3.栅栏函数dispatch_barrier_async/dispatch_barrier_sync。
4.队列组的使用dispatch_group_t。5.GCD定时器。

就算答案已经这么冗长,其实还可以被拓展,被补充。面试是一个面试官考察你的机会,也是一个你展现自己能力的机会,所以,每次面试都要毫无保留,把你会的东西全部表现出来,结果往往会令人满意。

相比于基础知识,要提高你的知识深度更加需要时间和精力,这就不是一朝一夕的事情了,需要你不断地去积累,这方面的内容读者朋友也可以参考我之前的文章。


3、解决问题的能力

解决问题的能力,这个主题有点宽泛,但是却真的是大厂最喜欢考察的东西。

比如面试官拿出一道你没见过的算法题,往往是很容易让你产生畏难情绪的,如果你放弃思考直接回答不会,那你就输了。

题目可能很难,但是面试官想看到的是你思考的过程,以及解决问题的能力,如果你可以介绍自己的思路,给出一些解决方案,就算题目真的不会写,可能也会给面试官比较正面的影响。

当然,如果你有很多题都不会,那可能你解决问题的能力也就这样了。

除了算法题,智力题也是一种常见的面试题型,这些题目可能涉及概率论、博弈论,题目本身不会很难,你应该给出你的解题思路和思考过程,面试官一般也会引导你打开思路,这类题目也很能反映一个人解决问题的能力。

如果你有项目经历或者实习经历,那么面试官往往会问你在项目中负责什么,遇到了哪些困难,又是如何解决的,其实也是为了考察你解决问题的能力。

如果你能很清楚地介绍你所做的东西,并且能够告诉面试官自己通过努力解决了项目中的一些难题,一定会让面试官对你刮目相看,当然,前提是你真的做过这些项目,克服过这些困难,简历造假就是搬起石头砸自己的脚。

总结:

说了这么多,其实大厂面试官只不过想要了解面试者的可塑造性,面试题、算法题、压力面试等,都只是一种手段。因为大厂需要的有可持续发展能力的人才,能够为公司和部门长期发展提供更多的可能性。不需要救火队长,也不需要混子。