本文主要是介绍大厂面试时,面试官会考查哪些能力?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 如何面试大厂系列
- 上篇
- 能力考查
- 技术能力
- 工程能力
- 表达能力
- 综合能力
- 总结
- 下篇
- 素质考查
- 人品
- 意愿
- 总结
如何面试大厂系列
序号 | 内容 | 链接地址 |
---|---|---|
1 | 大厂面试时,面试官会考查哪些能力? | https://blog.csdn.net/belongtocode/article/details/117810750 |
2 | 如何在国内互联网大厂面试中游刃有余? | https://blog.csdn.net/belongtocode/article/details/117810951 |
3 | 如何全面、高效地准备大厂的技术面试? | https://blog.csdn.net/belongtocode/article/details/117811162 |
4 | 在大厂面试中,如何应对算法能力考察? | https://blog.csdn.net/belongtocode/article/details/117811339 |
5 | 大厂技术面试中的开放类问题该怎么答? | https://blog.csdn.net/belongtocode/article/details/117811446 |
上篇
你好,我是邵浩。
在面试过程中,我碰到过各种各样的候选人,总结了很多优秀同学具备的能力,也梳理了候选人在面试中表现不足的地方。我将用两节课,从面试官的角度,基于真实案例,帮你梳理技术面试中要注意的问题。
简单来说,作为面试官,我关注的核心点就是三方面:人品,能力,意愿 。在这节课呢,我会对能力考查进行详细阐述。关于人品和意愿这两方面的素质考查,我会在下节课为你说明。
能力考查
能力考查,主要分为技术能力、工程能力、表达能力和综合能力。
技术能力
很多候选人会提前刷题,比如说 LeetCode、LintCode,这是必要的。但我一般考察算法能力,除了基本的机器学习、数据结构、概率论之外,主要还是根据某一具体问题,深入去挖掘候选人是不是真正具备算法思维,而不是刷题刷来的套路。同时也可以通过一些岗位需求范围之外的技术问题,考察候选人的解答思路。举个例子来说:
提问:给一张图片,如何提取特征?
追问:卷积为什么能够提取图片特征?比如说边缘特征?
追问:如果希望识别的是写有字母“X”的图片,如何设计卷积核?
追问:池化的含义是什么?
追问,11 卷积的作用是什么?
追问:11 卷积在典型算法中如 GoogLeNet,ResNet 上的应用是什么?
我相信真正完整学习过相关课程的同学,或者实践过图像算法的同学,都可以比较好地应对此类问题。我再举个例子:
提问:什么是索引,什么是正排索引和倒排索引?
追问:为什么 Elasticsearch 的搜索效率比 B+tree 要快?
追问:给定 QA 库,实现一个简单的 IR 问答系统,利用 Python 的 Elasticsearch,如何设计程序结构?写出伪代码。
追问:ES 的相似度检索中默认的 BM25 算法,其原理是什么?
追问:还有其他什么更好的相似度算法?这样的题目,其实可以一直追问下去,比如说如何做文本的分布式表示、如何用更有效的匹配算法来找到语义相似的句子、如何进行模型压缩等。这样一来,对候选人的技术深度就可以有大致的了解。
工程能力
工程能力,是面试考察的重点,很多候选人觉得算法工程师就是懂算法、懂理论,而忽视了真正的数据处理和工程落地的能力。在同等条件下,面试官会更偏好动手能力强的候选人,包括但不限于 C++ 水平、软件工程、测试、服务化、数据清洗等各方面的能力。
这里没有什么特别的套路,我一般会根据候选人简历上的项目情况具体提问。举例来说,某候选人提到了自己做过问答系统,那么除了系统本身的实现之外,还需要进一步考量例如 Docker、log 存储与监控、微服务、高并发高可用、CI/CD、看板等能力。
例如:
追问:进程、线程是什么含义?
追问:线程和进程分别在什么情况下使用?
追问:写出 Python 创建线程的代码。
追问:协程是什么?
追问:如何在服务器上部署你的服务?
追问:面对高并发的情况,如何解决?
上面是一个非常简单的例子,一个好的工程师一定不仅仅是在集成开发环境中(如 Pycharm,NetBeans)进行代码的编写,而是在更复杂的工程环境中,建立完整的流程框架。
表达能力
表达能力也分为两个方面,一个是简历表达,一个是面试表达。
简历表达的重要性不言而喻,一份没有亮点的简历很容易在 HR 筛选的阶段就被直接丢掉。当然,过于浮夸的简历也会在面试中受到质疑和挑战。
举个反例你就知道了:
我碰到过一个简历,来自国内头部某互联网公司,4 年工作经验的工程师,简历一共写了 7 页,不仅列举了他参与主导的各类项目,还包括他平时的学习积累、个人规划,给人的感觉就是三个字“我很牛”。虽然我对他有一定的质疑,但还是邀请来面试了。果然面试过程中,他就不断露馅,所谓“精通”各种编程语言,也仅是 Python 有一定的能力,Java、C++ 基本没有用过;所谓“主导”过多个项目,也只是参与,甚至有的项目是团队其他人贡献的。具体的问题深入下去,就开始抓瞎。这个候选人本身还非常有个性,觉得很多问题都不是自己的问题。总之是一个很尴尬的面试,让我对这个公司后续的候选人简历都有了一定的戒备。
因为这节课主要关注面试,所以简历的问题就不再深入探讨。但非常重要的是,简历的内容一定要真实,不能前后矛盾。尤其对于“精通”、“主导”这类词语的使用,先扪心自问,是不是真正达到了相应的水准,否则在面试中很容易被挑战。
再来看第二点面试表达。面试中的谈吐也是非常关键的。不仅仅是面试,包括在公司晋升和奖励时,有一个很重要的考量因素就是表达能力。我碰到很多同学,技术能力扎实,编程能力也不错,但就是在讲述的时候没有逻辑,回答问题往往抓不住重点,东一榔头西一棒槌。还有的候选人说话的时候小动作不停,紧张地搓手,眼睛总是看着地面,不敢直视面试官。你可能会说,我作为技术人员,和代码打好交道就行了,不需要和人交流。但如果想有更好的职业发展,良好的表达能力总是必要的,这对于团队协作也非常重要。
还有一个需要注意的就是面试过程中的心态和说话方式。一个典型的例子就是反问面试官。我的建议是在适当的时机和具体的问题上可以反问,但尽量避免咄咄逼人的反问和追问。有些候选人在面试中体现出很高的优越感,然而,在面试的场景中,面试官是握有生杀大权的,即使在某一个问题上把面试官问住了,也没有任何益处,毕竟面试的目的是获取 offer,而不是来跟面试官进行 pk。换一种表达,比如说以建议的形式,反而会更好。
综合能力
所谓综合能力,考察的重点在于候选人技术之外的能力,比如说产品思维、用户导向、宏观规划能力等。
举个例子来说,在面试的过程中,我通常会给候选人一个实践问题,比如说,“我们要在 6 个月后上线一款用户自定义语音的新产品,而目前的声音克隆技术还不是特别成熟,如果让你做,你会如何规划和推进?”候选人不仅需要考虑技术的落地,外部资源的引入,还需要考虑如何从产品角度来满足用户需求,同时,还要有核心指标以及指标分解,人力资源协调,把控 milestone 等。
总结
以上就是这节课的全部内容,我从面试官的角度,总结了一些技术面试中的能力考查问题。技术人员最重要的还是技术过硬,英雄总有用武之地。当然,素质考查也同样重要,在下一节课,我会详细探讨素质考查的方方面面。面试成功拿到 offer,也只是职业的开端,不断提升自己各方面的能力,不断面对挑战,才能保持更高的竞争力。
下篇
你好,我是邵浩。
近年来,我面试过不少候选人,发现很多同学因为在面试过程中的表现不足,而错失了机会。所以,我想从面试官的角度,基于真实案例,帮你梳理技术面试中要注意的问题。
简单来说,作为面试官,我关注的核心点就是三方面:人品、能力、意愿。能力考查的关键点,我在上节课已经讲过了,这节课我们来探讨人品、意愿这两方面的素质考查,应该注意什么。
首先让我们看两个案例:
小 A 是国内某名校硕士毕业生,辗转多个大厂面试,自我感觉都非常良好,什么都能答得上来,但莫名其妙就一直没有拿到合适的 offer,最后去了一家创业公司。
小 B 是某大厂等同于 P7 级别的工程师,小 C 是某大厂 P6 级别的工程师,他们先后(隔了大概 2 个月)去某互联网公司应聘,结果两人拿到了同职级的 offer,小 C 的薪资反而比小 B 要高。
你可以想想看,为什么会是这样的结果呢?
在和这几个同学沟通之后,我发现了一些问题所在。小 A 是个聪明但急躁的同学,在回答面试官某些问题的时候,喜欢追问和反问,经常会和面试官针锋相对,反对面试官的一些观点和看法,因此很容易被冠以“难以合作”的标签。在第二个例子中,小 C 平时的交流和表达能力要更强,和人相处时,会让对方感觉很轻松。而小 B 则是学霸型的同学,平时就有些高冷,面试过程中的表达和表现不如小 C 也是可想而知。
接下来,我们就详细聊一下素质考查中的要点。
素质考查
人品
人品是最关键最重要的,哪怕候选人能力再强,人品不过关我也一律不要。
人品就是人的品性道德,宋朝黄庭坚在《濂溪诗序》中评价周敦颐时写道:“舂陵周茂叔人品甚高,胸中洒落,如光风霁月”。在和优秀候选人沟通的时候,会有这种“光风霁月”的感觉,也非常希望和他们充分交流。
我觉得人品分解来看,最重要的有几点:真诚、自信乐观、协作意愿。
真诚就是真实不虚假,我给你举两个反例,你来感受一下。
反例 1:现在很多公司都使用牛客网远程面试,在代码测试的过程中,会发现很多同学不停地切换页面,然后故作沉思状,最后让人感觉是花了很大力气敲上了代码。实际上,这些同学很有可能是切换页面去搜索引擎上找答案。自己觉得天衣无缝,但面试官早就看出来了。
反例 2:碰到很多同学,不会答就开始瞎答,当面试官指出错误的时候,他还要挣扎一会儿,甚至挣扎到面试官也不想去追究了。所以,遇到不会的问题,可以尽可能说下思路,但也要及时承认自己的不足,避免更多的减分项。
自信乐观的表现是眼中有光,敢于担当。这里我先举个正向的例子:
我碰到过一个同学,学校背景一般,但面试中散发出来的自信气质让人印象深刻,他提到自己为了成为合格的算法工程师,利用所有的业余时间,系统性学习了相关课程,并在 Kaggle 项目上去练手。在上家公司,也主动承担任务,熬夜加班也要按期交付。在沟通的过程中,他非常积极主动,能感受到有很强的上进心。
我再举个反例,对比一下:
很多程序员都比较保守,自己会的东西得心应手,但对于有挑战的事情,就望而却步。比如说我会问应聘的 Python 工程师会不会 C++,对于某个项目,如何用 C++ 进行改写等,一般还不等我追问,一些人就直接回复说“我 C++ 用得不熟,不一定能搞定”,还有同学说“我应聘是 Python,C++ 做不了”。
从这两个例子中可以看出,强大的学习能力和敢于承担的精神,是自信的良好体现。
再来看协作意愿方面,项目推进中,核心关键人员必不可少,但很大概率上只有团队合作才能有好的成绩。我先举个反例:
看到候选人简历上是 xx 项目的负责人,我会问他带了多少同学做这个事情,怎么分工和配合。有的人回复是这样的:“其他人都不行,这个项目是老板压下来的,都是我一个人搞的”,还碰到过一个候选人说“我就做好我自己的部分,集成还是老大去集成”。当然,还有技术候选人,会批评测试团队、产品团队配合不了,有矛盾,难推进,这些都是面试过程中的减分项。
那怎么样回答才好呢?你可以在回答项目配合的问题时,不仅说清楚团队的配置、不同模块的开发和串联,还提出更好的建议。比如说一个候选人复盘了某个项目,并且告诉我,现在如果他再做这个项目,可以通过自动化手段,节省人力,提升测试能力,避免线上的问题等。
对于这样的同学,我会感觉他具有很好的全盘意识和协作态度。
意愿
除了人品之外,素质考查的另一个重点是意愿,具体包括两个关键点。
一点是有的放矢,目标明确。
面试是一个双向选择的过程,你是不是真正去准备了这个职位要求的所有方面,你有没有让面试官了解到你的努力程度,都是关键考查点。另外,你还需要注意一些可能有坑的问题,比如说:“你为什么要来这家公司?”,对于这个问题,我认为有几种糟糕的回答:
第一种:“我喜欢这个工作”。这是个非常通用且没有任何信息量的回答。你应该结合个人职业规划,以及在这个岗位能够为公司做出的贡献,来进一步阐述。
第二种:“我工作能力强,无论做什么都能做好”。这个回答反而让面试官觉得你并没有清晰的诉求,所以你还不如针对面试的特定岗位,来说明自己的核心能力。
第三种:“我这边已经有 xx 大厂的 offer,也想来面试你们这家公司” 。这个回答是属于广撒网的,作为面试官,内心 OS 一定是“那你去别的公司好了,不要来我们公司了”。当然也有例外,除非是你特别优秀,而面试官又特别渴求人才的,可能并不在乎你拿到了其他公司的 offer,而是会用最好的条件争取留住你。
意愿考查的另一关键点是有备而来,知己知彼。
有一些同学根本不了解岗位的需求,甚至直接问面试官“你们招聘的是什么岗位”。诚然,简历投了一堆,拿到很多面试机会,也很正常,但你做起码要做到,提前去了解这家公司的基本情况。另外,面试快结束时,面试官一般会问你:“你还有什么想了解的?”你可千万别这么回答:
- 第一种:“我没有问题”。这会让面试官觉得你没啥想法。
- 第二种:“我不是很了解你们的业务,能再介绍一下么”。这让人感觉你并没有做好调查,意愿不强。
- 第三种:“这个岗位需要哪些能力”。这说明你在不了解岗位的情况下就来应聘,根本就没有做好准备。
- 第四种:直接问一些众所周知的公开信息,比如说公司的业务构成等。这个回答不痛不痒,不会减分,也不会加分。
面试官其实想知道你到底有多想留在这家公司,而且,如果你觉得面试过程中某些点回答得很糟糕,这也是一个非常好的补救机会。所以,好的问法要结合自己的未来发展、业务情况,来问一些具体的问题。当然,也可以问如下一些问题:“能否评价一下我刚才面试表现,有哪些需要改进的地方”,“对该岗位的中长期职业规划建议是什么”,“我如果能够入职,需要在短期内解决哪些问题”,“公司的晋升机制是什么”等。
总结
总之,素质考查是一个非常重要的评判标准,人品和意愿不仅决定你能不能拿到心仪的 offer,也决定你最后在职业发展中能够有多大的成就。最后,你也可以想一想,如何在日常工作中提升这些基本素质能力,提升自己的段位,补齐自己的短板,欢迎在留言区和我讨论。
参考文章:整理于极客时间每日一课
https://time.geekbang.org/dailylesson/detail/100056880
这篇关于大厂面试时,面试官会考查哪些能力?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!