即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

Coding 面试该怎么样与面试官沟通?

微信 九章算法 10℃ 0评论

在 Coding Interview 中,有的人常常很困惑:

我是要一边写代码,一边跟面试官沟通,还是一阶段沟通一下?

我说太多,面试官会不会觉得啰嗦呢?

再回答这个问题之前,我们需要先了解,Coding 面试中的沟通主要考察的是什么?

在 Coding Interview 中,首先,也是最重要的,是需要通过沟通过程,考察你处理模糊信息的能力,即 Ability dealing with ambiguous。

这听起来可能没那么重要,但却是面试官重点考察的内容。因为我们在平时刷题时,题目十分清晰,也会给出一些范例。但是我们工作时会遇到很多少量、模糊的信息,并且要根据手头有限的信息去完成某项工作,这时这个能力就显得格外重要。


为了评估面试者处理模糊信息的能力,面试官会问我们这样的问题:

e.g.1

Given alist of list of files, find all duplicates


那么我们这时该怎么处理模糊信息呢?


在这个例子里,这里的”duplicates”便是所谓“模糊信息”。是文件名?还是文件内容呢?这时你需要与面试官clarify的内容。

e.g.2

Write a method to convert numbers into English?

Input: 100->one hundred

Input: 1001->one thousand and one

Input: 12543->twelve thousand five hundred forty three

那么这道题你该问面试官什么呢?


在这道面试题中,模糊信息更多,更不明确。比如input的数可以是负数么?可以是小数么?上限是多少?Input的是longlong还是string?再有就是一个数怎么读的问题,每种语言的读法都不一样,像是1234,是读作twelve thirty four呢还是one thousand two hundred thirty four呢?这就是你需要从面试官哪里中问清楚的问题。

 

那么你就可以这么问:

What’s the input type?

Do we need to consider the situation where it might overflow?

 

Follow up: Inputis a string contains multiple numbers


这回该注意些什么了呢?

分隔符是什么?

需要什么样的输出?

 

作为一个软件工程师,展示给面试官你可以考虑到所有的情况,会给你的面试加分很多。不要怕啰嗦,你想如果这个题目真的这么模糊,那到底是啰嗦扣得分多,还是做错了扣得分多呢?


当然也不要为了问问题而问问题当题目真的模糊的时候,要为了问清楚而问问题。有的人可能纠结于跟面试官沟通的频率。比如,到底要不要边 Coding 边解释。这个其实要根据你自己的实际情况来判断的。比如,你边说边code会觉得分心,那就不要一直边说话边code,而是集中精神把题解出来才是王道。也就是说,在 Coding 面试中,最重要的仍然是 Coding。是否需要 Communication,取决于 Coding 中是否有模糊信息需要向面试官澄清或者说明。要是单纯为了给面试官展示自己多具交流能力去问,就可能会弄巧成拙了。

《九章算法班》

《系统设计班》

《Big Data 项目实战班》

《Android 项目实战班》

《算法强化班》

正在报名中!

报名登陆官网www.jiuzhang.com

或点击文末“阅读原文”

版权归属九章算法,谢绝转载。

转载请注明:CodingBlog » Coding 面试该怎么样与面试官沟通?

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情