双非渣硕的字节NLP算法三面+HR面面经(已OC)
一.面试心路历程
学历:广东某双非,本校考研上岸论文:中科院sci二区期刊一作在投 + 一B会三作 + 一C会三作实习:一段小公司的算法实习经历比赛:CCL比赛Top5名次代码:leetcode 1,面试手撕代码环节基本能ac;由于投的都是提前批或者内推,几乎没有笔试过。基础:DL和NLP的相关知识面感觉还蛮广,但是做深的较少;ML相对薄弱一些;搜广推没系统学习过。方向:NLP领域偏摘要生成这一块(面试官重点问的也是这方面)嘴炮:这是很容易忽视的一项,"你很优秀"和"你能让面试官觉得很优秀"是有gap的。自我感觉这次春招嘴炮属于中等、偶尔蹿稀。临场反应和freestyle发挥都挺好(看状态和0秒反应),反问环节的面试反馈通常也比较match,反而是我的网络信号经常不好影响面试(搞得我不得不去数信九楼楼道面试)。
二.字节NLP算法面试经历
①字节跳动-一面(02.28) 1h
面试官声音挺温柔的。先跟我说本次的面试主要是分三个环节:自我介绍+聊项目+代码环节。然后直接开面:
自我介绍:(说一下自己的方向》各方面价值》标配了)
聊项目环节:
1.重点聊你觉得最深挖的项目?
核心是围绕对话摘要生成做的一系列探索:论文调研》论文成果放到项目落地》报告生成比赛。
2.做的的抽取式和生成式?
3.现在用的评价指标有哪些?
4.生成式摘要模型整体上是怎么样?
5.讲一下PGN生成模型?
6.讲一下TDS生成模型?聊聊苏神的space模型?
7.NTM的结构能不能详细介绍一下?与VAE的区别?
8.摘要领域里面常见的TextRank?
9.现在抽取式和生成式哪个效果更好?
10.摘要领域的数据集有哪些?
11.有没有了解中文的摘要数据集?
12.长文本摘要和对话摘要有什么区别?
13.dialogue summarization的目的是干嘛?
14.对话摘要里面的摘要结果有没有角色呼应?
15.摘要生成怎么控制长短?
beam-search,topk词。
16.跟beam search 的窗口大小有多大关系?
17.beam search以EOS为结束解码,解码时候遇到最大长度但是还没有解码符号?
18.coverage mechanism(覆盖机制)是怎么样?
聊比赛环节:
19.说一下比赛的经过?这里问了一些问题,不太记得了,总体就是模型的选择、细节、输入输出的固定、还有维度问题等。
20.看你说做过java研发,那多线程和多进程有什么区别?python的线程锁了解过吗?
21.最后代码题:
编辑距离
直接给了道编辑距离,刚好这几天有刷到这道题,dp表格法秒解了
整数幂
一道hard一道medium,还得面向codetop刷题才行。
②字节跳动-二面- Leader面(03.07) 1h20分钟(面试官居家隔离好像信号有点差)
开端:自我介绍
1.着重讲一下报告生成比赛?比赛人数?
5.生成可读性用哪个指标来衡量?
6.用了什么算法和模型?用的EDA数据增强的哪个?
7.对话有没有做变动?深入聊数据增强?
6.如何用置信度判断?过拟合怎么解决?
7.伪摘要的提升?1个点左右提升,线上线下的提升?
8.除了数据增强,还有什么方案?
9.介绍BIO方案?模型的token是一个字还是一个词?
10.PGN与seq2seq的区别?
14.self-attention的多头注意力的作用?好处?是不是越多越好?
16.把8个头改成16个头?模型的参数数量有什么变化?QKV的矩阵维度是多少?原来和改进后是多少?
16组QKV。16*768
17.LSTM对于梯度比RNN有什么改进?RNN梯度消失的求导有什么影响?RNN梯度消失了,梯度还有吗?是否为0?
18.LSTM相对比RNN有什么优点?
快车道,上下文,Forget gate等
19.代码题:
最长公共子序列 (因为之前提到了rouge-L指标里面有最长公共子序列,就让我手写实现了)
最长回文子串
③字节跳动-三面-主管面(03.11)
面试官给我感觉的气场很足,看上去很有远见卓识或者很会带人。面试的体验也是挺不一样。
1.说一下你之前没有讲到的一个项目或者比赛?
因为之前一二面聊的比较多是比赛的东西,然后就跟面试官说聊下项目:从任务背景》评价指标》根据背景和指标选用的方案》模型细节》线上线下效果》具体部署平台,讲了下自己之前算法项目的经历。之后大部分时间也是交流项目。因为讲之前有先概括说一下,面试官也很快理解我的东西。
2.为什么没有顶会论文,说了下后面在投COLING了,讲一下低频算法?
把将要投的论文idea给面试官说了下,又不敢透露太多毕竟还没发(艰难)
3.问到说有没有了解过字节范,问我如何在技术上追求极致?
聊了下在在自己垂直领域用飞书构造领域知识库的经历。
写完面试官说我说话太快了,我觉得可能是因为他是北京那边可能口音听起来有点怪,本来以为有点凉凉。然后又说可以去北京带我。感觉又被捞起来了。
ps中间一个小插曲:三面面试官也是挺不容易的,好像是那两天刚好字节本部发生疫情其被隔离了,然后三面面试时候突然有人敲门,然后面试官被叫过去做核酸emmm回来后跟我说是做鼻拭子说很酸爽,让我等他缓一下emmm
④字节跳动-HR面(03.16)
催了几次,然后16号中午11点多给我电话,说北京那边缺人,叫我去北京干活,待遇也是字节标配了。
也不算面试,就直接说待遇,然后说去就给发offer。
大概1点多收到入职邮件,就这样前后花了近2周多面了三次终于斩获了字节算法实习offer。(实习三次面试的经历就字节和百度了,百度那个也oc了,个人感觉字节和百度算是效率最快的了)
总结:
1.简历非常重要,非常重要,非常重要,可能要改自己的简历几十次并且让大牛或者导师帮忙看改简历,且一定要在面试前把自己简历上的东西确保都弄懂了。面试只有最多不超过1小时的时间,面试官要在有限的时间考察一个应试者,只能从简历入手提问。尽管技术知识千千万但总有自己不会的,这时候就要善于把会的放前面,不会的尽量不写或者不引导面试官问,而是把面试官引导到你会的技术的层面来发问(这里又涉及面试的大学问,篇幅有限就不赘述了)。
2.简历没问题了,就把涉及的比赛、项目、论文分别用一张纸(杰哥推的秘籍)写满相关的可能问题并做好提前的回答。基本上面试都是先聊比赛、项目、论文,或者面试官问你觉得做的最深入的是哪个然后深挖,这时候尽可能聊久点。
聊久点点好处是能压缩后面面试官问算法八股的时间(如果论文、比赛、项目、实习全都没有,那就只能做好面试大半小时聊算法八股的问题,感觉最好还是争取搞个小项目放在简历上好给面试官聊更好,不然人家就只能跟你聊八股了(摊手))。
2.tob toc tog的区别:
觉得不错一键三连吧hxd~有什么问题欢迎私信交流~
#面试复盘##实习##自然语言处理##字节跳动##算法工程师#