NewBeeNLP原创出品
作者 | 李可
香港中文大学(深圳) · 强化学习
面试锦囊之面经分享系列,持续更新中
欢迎后台回复"面试"加入讨论组交流噢
写在前面
寒假前本着试试的心态,投了几家大厂的实习岗,商科转码er前端后端都不会,头铁全投了nlp算法岗(因为之前跟着清华研究院的老师做过相关的工作,所以了解一些)。今天收到了字节跳动的寒假实习offer,nlp算法岗,base北京,来写写面经,一是还愿,二是回馈之前在各网站上看到的经验帖。祝各位顺利!
个人情况
香港中文大学(深圳),大三,计算机科学与技术专业,大一是商院的,大二因为兴趣和擅长转到理工学院,在统计学和CS之间犹豫了一下,确定了后者。这里真的很感谢学校的宽松政策和高自由的选课制度~ 大二暑假在清华深圳研究院跟着Yang Li老师做了一点nlp算法相关的工程项目,学习了一些主流算法,开学后转到强化学习的方向做research。之前没有计算机基础,这学期刚开始学操作系统、数据结构、C++这些课程。
因为寒假实习比较折腾,所以只投了大厂,基本都经历了二面,情况如下
腾讯wesure nlp算法实习
一面
- 把数字转换成中文汉字给定输入”28024“,输出”两万八千零二十四“ ,这个没有什么算法知识,但有一些比较tricky的处理技巧。
二面
只记录了答的不好的题目
- 给定文本分类的任务,人工打好了分类标签,想要利用classification建模,描述流程;如果最后准确率不高,怎么排查问题原因?
- 如何判断变量之间的相关性?除了相关系数之外还有吗?相关系数判断的是线性相关还是非线性相关?(线性)那怎么判断非线性相关?
- 分类和聚类的区别与联系; HMM和CRF的区别 (判别模型和生成模型的区别)
- 一些个性向的问题,(自己/朋友)如何评价自己;最大的优缺点
- 如果给你3天时间快速上手一门新语言,你会怎么做? 如果只给1天呢?
总的来说,腾讯这个面的实在不难,主要围绕简历上的经历,扣的很细,会追问很深,比如遇到这样的问题怎么去处理,怎么去排查原因。
但是腾讯结果出的太慢,一面二面结束后,隔了一星期才问我(估计是进备胎池然后被捞),什么时候有空约个部门高级经理面,但这个时候我已经拿到了字节的口头offer,就跟对方终止了流程。
货拉拉 定位算法实习
- 二分查找写了一下,分析时间复杂度 (靠,可能当时觉得太简单,十分窃喜,导致脑子抽了!!!写成了 T(n)= c+2T(n/2)… 很无语
- 青蛙跳n阶台阶问题 (Cn = Cn-1 + Cn-2),变体:如果不能连跳两级呢?如果可以跳1,2,3,…, n阶呢?
- 给定前序+中序或者中序+后序,恢复一棵二叉树(这个CSC3100讲了,但我期中以后就没听课,所以当时不会,面试官小姐姐很热心的提醒了一些思路,最后写出来了,有惊无险)
总体上很顺利,问的算法都是和面试官聊的不错,发现对方是Georgia tech的,扯了十分钟闲话。但因为实习时间原因放弃了。
百度 自然语言处理部 nlp实习
一面
- Transformer/BERT/LSTM算法简述
- 找两个字符串的最长公共字串 (暴力求解;然后用动态规划优化)
- HMM和CRF的区别 (判别模型和生成模型的区别)?CRF的损失函数长啥样?HMM三种问题的具体解法?
二面
- SVM和logistics regression的区别
- 还问了特别多特别多简历项目上的细节处理问题,答的特别不好,但是不记得了……
百度二面的时候也已经拿到字节的口头offer了,所以当时去面试是比较勉强的,本着增加经验+防止字节仙人跳的心态,对方面试官不知道为啥语气也有点严格,可能是晚上八点面试加班很不爽吧,总之这个面试我俩语气都不太好。。很奇妙哈哈哈哈 但还是聊了一个多小时(确切的说是被质问/逼问/压力面了一个多小时
字节跳动 nlp/搜索算法实习生
面字节是特别深刻的经历。12.6上午我去赛格考托福,中午出来十二点多,来不及赶回学校,就在附近找了个网吧等面试。第一次去网吧,充了一个小时,以为够了,结果面试途中两次打断面试官,“不好意思,我去前台再充一个小时回来继续面!"
网费好贵,30r/h
网吧很嘈杂,网络也断断续续,经常卡,所幸面试官贼好,后来直接挂了视频打电话过来面。
字节跳动总体感受
- 两个面试官都很年轻,一面面试官还有点帅;二面打电话的,没看见脸
- 两个面试官都不好糊弄(比如他们虽然是nlp部门的,但也很懂我简历上的强化学习,貌似对学界paper也看得比较多),挺厉害的。特别是一面面试官,对于我现在导师做的东西竟然很懂,比如Q-learning和Policy Gradient,还问了一些学术最前沿的东西,我不会,他就说了几篇paper,说感兴趣可以回去了解一下。
- 面试效率极高,当天连着两面,面了两个多小时,当天出结果,第二天约hr面,字节牛逼!
- 网吧的键盘手感好棒啊……以后的梦想是自己配一套台式机,买个好显卡,好屏幕,好键盘,周末就可以玩游戏了
笔试题
- 实现函数 int sqrt(int x). 要求复杂度O(lgn)
- 输入一个矩阵,找出所有的connected components。我当时用了stack,思路有点像CSC3100课上讲的用stack解决迷宫问题
技术性问题:
- 强化学习流派 deepmind/openAI Sutton/Berkeley
这几天总结下来的感受
- 数据结构和算法是门好课(这学期shen kaiming老师的补充材料都很有用,面试常考的)
- 机器学习的传统算法要熟悉,也要稍微关注学术界最新的动态,不然会被cue
- 尽量找内推吧。这次我都是第三方投的,后来HR小姐姐告诉我内推的话更容易一些
剩下的想到了再补充!
一起交流
如果你看到这儿了,邀请你和我们一起交流!NewBeeNLP目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 面试交流 等),名额有限,赶紧添加下方微信加入一起讨论学习吧!注意一定要备注姓名喔~
- END -