- 面试过于被动,被面试官生硬的推着走。比如针对"微信抢红包"这个问题,有的面试者就一句话,"每次用一个随机数生成器生成一个红包金额不就行了"。如果是这样的话,你作为工程师的严谨性就荡然无存了。面试官为了让你继续下去,还要向你提问,比如你考虑过没有红包金额的总体分布问题?等等。而面试官期待的是这个问题被你推动着走下去。比如在问题不太清楚的前提下你应该反问面试官,每个红包的金额有没有上限和下限?需不需要考虑计算效率问题?我能否在红包产生时就预算好所有红包的金额等等。
- 思路受限,没有严谨性、开放性和创新性。在实际的工程问题中,解决一个问题不可能只有一个solution,解决一个问题的solution也不可能是一句话能说清楚的。比如我想跟你讨论一下如何设计一个电商主页商品类别排序模型。看到这个问题,很多人会直接说我想用DNN建一个CTR prediction模型来排序。这当然可以,但最好请你抛出这个解决方案的时候严谨地系统地想一想这个问题,顺着工程实现的思路去跟面试官讨论下去,比如1、都能得到哪些数据和feature;2、数据量有多大,数据延迟有多大;3、objective如何制定;4、结合具体业务,我能不能把商品类别当作一个item来对待,或者把类别内部的商品当作一个item来对待;5、我能否使用learning to rank /ctr prediction/多分类模型来解决这个问题;6、采用什么模型架构更适合这个问题。等等。。。在实际面试中,你可能无法想的这么细,但请体会这个意思,作为算法工程师,你应该足够严谨、开放、活跃、创新。
Read full article from 为什么说算法工程师的面试是一门玄学? - 知乎
No comments:
Post a Comment