头条机器学习平台开发——风控方向

一面

  • 自我介绍
  • 平时用啥优化器,然后就顺着问,Adam和梯度下降比有啥优势,动量是干啥的,blablabla
  • 还了解什么其它的优化器
  • 了解batch-normalization不,说一说解决啥问题了,又顺着问梯度消失的问题
  • 上一问说到了LSTM,又问LSTM怎么解决长期依赖,为啥用tanh做激活函数
  • 还了解啥其它的模型不,CNN为啥卷积核通常是奇数,卷积核为1就怎么了
  • 撕代码:把数字拼成一个字符串"0123456789101112…",输出第m个字符,先说思路再写代码
  • 介绍一下你之前做过的东西:把之前做过的迁移学习方面的研究大概说了说
  • 劝退一波,说我们这个组是平台研发,虽然平时可能会涉及到算法,但是并不多,大概3:7,你了解吗,答曰了解,正是我想要的(os:算法感觉实在太难找,安安稳稳找研发吧)
  • 那好,你等等。。。等等等等等了十分钟说二面面试官开会。。过两天再约。。

二面

  • 自我介绍
  • 介绍项目,讲项目里用到的GCN,完事儿问我GraphSAGE,当时一懵说不知道,回头查了一下发现确实不知道,还是太菜,调研不充分。
  • 手写LSTM公式
  • LSTM解决了RNN的什么问题
  • 撕代码:类似于leetcode 315 输入一个数组,输出每个元素的右边大于该元素的个数(其实就是每一个元素的正序数对个数),时间复杂度小于O(n2)。 刚看到右边大于该元素就直接想到单调栈,说思路,说着说着就发现没法做,出栈之后就没法计数了。然后想了几分钟发现归并好像能做,就边理思路边给面试官说,估计是思路理的不是特别清楚,面试官没听懂,就让我写代码实现然后它看代码。然后我写了得有半个小时,最后跑的时候有bug,面试官说别调了,讲讲思路,我就结合代码给他讲思路,他说了解我的思路了,就过了。
  • 问啥时候能实习,问我偏向于算法还是偏向于工程(要是算法我肯定不投这个岗啊。。。)

    他问了这些我一度以为我过了,毕竟算法题算是写出来了,而且面完发现算法是一个hard题。然而,第二天就收到了拒信。 再吐个槽,我就是冲着开发面试简单投的开发岗,为了头条这个岗复习了一个月计算机基础,结果两面面试一直在问算法,一个计算机基础题都没问,还出hard题劝退,感觉有点伤心。