中级农民
- 积分
- 102
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2022-8-20
- 最后登录
- 1970-1-1
|
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
最近在组里shadow interview,和senior 大佬一起面试了3位candidates。其中除了一位candidate 确实技术有硬伤,其他两位candidates 最后都是因为communication 被挂掉了。所以想要发一个帖子给大家提个醒,即使在tech interview 中,面试官也是在考察communication的能力的,毕竟一个好的communicator 可以减少很多以后工作上的摩擦和误解。
那么一般在面试过程中,面试官都从哪些角度考察candidates communication的能力呢?
1. 不清晰的problem description。有的时候,面试官会刻意的把problem description写的缺失细节,模棱两可。例如说,一个input的数据结构是什么?input有什么constraint吗(最大最小值,会不会有负数 etc)? 一个helper function 是需要自己实现还是可以直接默认有API 可以call?input 是sorted的吗?需要考虑pagination吗?这些细节都最终会决定程序的实现方式。
在这种情况下,如果candidates 不与面试官沟通要求clarification,而是自己默默的make assumptions 然后开始implementation,其实会是一个比较大的减分项。毕竟在日常工作中总是会存在一些ambiguity,这时大家都希望co-worker 能够在完成沟通之后再开始开发,不然最后做出的成果互相无法work together 就会很尴尬。
.--
2. 直接开始写代码而不先沟通high-level实现思路。在面试中有一位国人小哥,在理解完problem description后思考了几分钟,然后直接开始coding。他的代码其实写的不错的,但是最后因为整个实现思路跑偏了而无法在面试时间内解决问题,最后我们也忍痛拒绝了他。
因此,我个人会建议在开始正式的implementation 之前,先和面试官沟通自己的想法,如果有可能甚至可以写一个high-level伪码,并问面试官“你觉得这样行不行”? 一般靠谱的面试官就会给出constructive feedback,如果说可以,那一般证明candidates 在right track,就可以自信的继续往下写;但如果面试官用一些test case 来challenge 这个算法,那一般说明这个算法并不是百分之百正确,就需要重新思考可能的解法。
这么做的主要好处是,可以保证在一开始就不会跑太偏,就不太会出现其实算法是错的但一路走到黑的情况;同时,提前沟通能够让面试官在你正式implement的时候更好的follow 代码,从而更好的evaluate candidate 的tech skills,并且在跑偏的时候及时把candidate 拉回right track。
以上是我最近shadow interview的两个小体会,与大家分享。希望能够帮助大家在interview 中更好的展现出自己的实力。如果tech skill 都很强,却因为这些小细节而挂掉,就实在是太可惜了。 |
上一篇: 马逊做SDE1年后跳去其他公司是否对升职不利?跳后也只能去底层?下一篇: 温水煮青蛙。想换个环境
|