字节算法热乎面经
作者 | 我爱雪糕
整理 | NewBeeNLP
面试锦囊之面经分享系列,持续更新中
PS. 本面经来自讨论组内大佬,欢迎订阅后台回复"面试"加入交流
写在前面
先说下感受吧。本人在今年 3 月 1 号(周日)投递简历,隔天周一 hr 就约了周四的面试,结果那天是 2 面视频技术面 +hr 面直接走完了,周五内推的学长就告诉我过了,紧接着就是 offer call。整体投递 + 面试 + 发录用通知函的时间不到一周,而且面试官都是和简历对口的,整体体验非常棒。
PS:offer call 里说我的 leader 是李航,看了看手里的小蓝书,意外的惊喜!
面试的岗位是“AI Lab 实习生 — 自然语言处理 NLP”,一共 2 面技术和一面 hr,这里主要说下其中的技术面试。
一面
20min 简历 + 30min 题
先自我介绍,然后面试官说了句“好的了解”就直接进入项目了。
我的经历主要是一些竞赛,因此也是主要聊竞赛,在竞赛细节中扣一些细节提问。竞赛主要是关于 机器阅读理解 MRC 的(百度机器阅读、莱斯杯等),面试官也刚好懂,大致问题如下:
- 请你描述一下竞赛背景,以及你在其中的工作/职责。
- 我看你数据做了很多 预处理,这部分重要吗,具体是如何做的预处理。这个不同项目应该不太一样,不细说了。
- 我看你用了 word2vec 的词向量,知道它是如何训练的吗,有哪些 trick。这个很基础了,trick 就是负采样和分层 softmax。
- glove 了解吗,elmo 呢?
- 你把很多组件改成了 transformer 的 multi-head attention,为什么要舍弃 lstm 的结构而选用它呢。我回答的是可并行 + 更强大的特征提取能力,顺便还解释了 self attention 的原理以及 multi-head 的作用。
- 说一下 bidaf 的匹配层,解释了 bidaf 的 c2q 和 q2c 的意义和具体做法。
- 你取得 top2 的成绩还有其他优化吗。这部分答了很多,当时吃了没用 bert 的亏,所以在很多方面进行了一定的优化。
- 你的第二个竞赛用 roberta,它和 bert 的区别。动态 mask+ 去除 NSP+ 大力出奇迹(更大的 batch,更多的数据,更多的 step)。
- xlnet 和 bert 有啥不同。自回归&&自编码的知识,其中解释了 xlnet 排列语言模型以及双流 attention。
- albert 了解吗?embedding 层矩阵分解 + 参数共享 + SOP + 工程细节。
其他还有些小问题想不起来了,总体来说问的面不广,但是扣了些细节。
最后是两道算法题:
- 顺时针打印数组
- 编辑距离
很顺利的写出来了,一面结束,在线等二面。
二面
先同样是自我介绍。
然后出了一道“ 智力题”?
10 个袋子,1000 个球,你用球填充袋子,然后就固定了。现在来一个客户,无论他要 1~1000 哪个数量,你都能通过组装几个袋子给他。
我开始对面试官说可以动态规划:第一个袋子放 1 个,第二个袋子放 2 个,这个时候 3=1+2,所以第三个袋子不用放 3 个,放 4 个;此时 5=4+1,6=4+2,7=4+2+1 都能组合得到,所以第四个袋子放 8 个,以此类推。后来一想,这不就是个 1,2,4,8 的等比数列吗…
因为我提到了 动态规划,面试官为了使用动态规划要满足的条件是什么?什么情况下时候动态规划比较好呢?答:使用 dp 需要满足最优子结构性质 + 无后效性,在子问题有重叠的时候可以自顶向下的记忆化搜索,或者直接写成自底向上的 dp。
问我了一个 C++ 的问题,后来看我很懵逼,看一眼简历说哦你是会 Java 啊,那我们换个问题,你说一下堆和栈。我说了�
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek/post/%E4%BA%92%E8%81%94%E7%BD%91/%E5%AD%97%E8%8A%82%E7%AE%97%E6%B3%95%E7%83%AD%E4%B9%8E%E9%9D%A2%E7%BB%8F/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com