极客视点
极客时间编辑部
极客时间编辑部
113241 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:41
登录|注册

硅谷公司是如何培训面试官的?(上)

讲述:初明明大小:4.28M时长:04:41
近日, Landing AI Tech Lead 何平洋发文总结了其曾在 Facebook 接受的面试培训以及工作多年的面试经验。他表示,软件工程师的职责和标准在国内外很相似,所以希望这篇文章对国内的读者有一定的借鉴价值。硅谷大公司的面试分为三种类型:编程面试、系统设计面试、行为面试,本文主要为编程面试的经验总结,以下为原文主要内容。

编程面试中,我们应该考察面试者的什么能力呢?

编程面试主要测试面试者的如下几点能力和品质:解决复杂问题的能力、沟通能力、编程能力、调试能力、测试能力、知识储备等。除此之外,面试者的态度、习惯等也在考察范围之内。
首先,解决问题的能力,包括是否能把复杂问题简单化。在工作中,我们经常会遇到复杂的项目和问题,需要工程师把问题分解,先想出一个方案可以快速满足需求。
然后,沟通能力十分重要。我相信很多人都经历过因为沟通中出现的问题导致项目进展不顺利或者做了无用的努力。在系统设计和行为面试两轮会对面试者的沟通能力有更全面的评估,代码轮更多的是考察面试者解释思路的能力。
其次,编程能力所涉及的范围就非常广泛了,如代码的正确性、结构是否清晰、设计是否合理、编程习惯是否良好、代码是否易读、速度是否快。
再次是调试能力。我很少见到有人在面试的时候能把代码一次写对,编译和运行的过程当中总会有错误。我们需要每一位工程师都有能快速找出代码问题的能力。
最后是测试能力。这里最重要的一点是能否找出所有的 edge case 以提高测试的覆盖率。我们每天在做代码审查的时候会尽量考虑到所有可能的情况。然而现实中,大部分的 edge case 都是由代码编写者发现并处理。所以写好测试的能力是十分重要的。

什么样的题目算是一个好的面试题?

一个好的面试题应该能够考察面试者以上所有的能力。
第一,一道题目不能太过直接简单。简单的题目既不能测试出面试者的能力,又不能拉开优秀和普通工程师的距离。
第二,问题应该具有延展性。有些面试者会比其它人更快的做出题目。这个时候如果重新问一道全新的题需要花时间解释。然而在已经完成的题目上做延伸就不会有这样的问题。
第三,题目可以具有一些不确定性。比如在解释题目的时候漏掉一些信息。举个例子,输入 integer 的范围和正负性。这种方式可以帮助你考察面试者思考问题是不是全面,以及是否有良好的沟通能力。
第四,要避免智力题和脑筋急转弯。有些问题太过于依赖面试者的智力表现。举个例子,25 匹马赛跑,最少几次找出前 3 名。不推荐这类问题主要是因为通过智力题目选出来的工程师不一定能写出优秀的代码。上文中提到的绝大部分能力都无法考察。
第五,请时不时的去网上搜索一下贵公司的面经,看看自己的题目有没有被泄露。如果被泄露,为了公平起见,请及时更换题目。

如何把握面试的节奏?

如果面试是一个小时的话,我一般这么分割时间:
0-5 分钟:问面试者是不是需要喝水上卫生间。简单的互相介绍后,询问面试者之前的经历。从面试者熟悉的内容开始有助于缓解面试者紧张的情绪。
5-55 分钟:做题。这时你需要尽量收集面试者的信息。所以如果面试者卡在某个具体问题上太久,你可以适当地给一些提示,如果在一个问题上花费太多的时间,你就没有机会考察他其它方面的能力了。
55-60 分钟:回答面试者的问题。这个环节有两件事情需要做:第一是推销你的公司,第二是从其他方面了解面试者。面试者的问题很多时候都反映出了工作中哪些地方对他重要。
如果是第一轮电话面试,我会多花 5 分钟在面试者的行为表现上,以确定面试者在文化和背景上是否适合我们公司。
如果面试是 45 分钟,我会把中间编程的时间缩短,前后的十分钟保持不变。因为两部分对面试十分重要,不能缩的更短了。
以上就是面试过程中要做的事情,受限于篇幅,我们将在下一篇文章中继续分享面试中的注意事项及面试后需要做的事情,欢迎持续关注。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
编程面试中,我们应该考察面试者的什么能力呢?
什么样的题目算是一个好的面试题?
如何把握面试的节奏?
显示
设置
留言
收藏
84
沉浸
阅读
分享
手机端
快捷键
回顶部