【算法面经系列】头条 + 腾讯 算法工程师面经(NLP 实习)
来源: NewBeeNLP
写在前面
先说一下背景:本科双非,硕士 211,没论文,一段半年的大厂 NLP 实习,3 个 TOP5 NLP 比赛,1 个两位数的数据挖掘比赛。
字节跳动
1 面: 60 分钟
- 实习,难点,收获,怎么解决
- XGBOOST ,LGB,GBDT 的区别
- 一阶优化器,二阶优化器
- Attention 怎么做,self-attention 怎么做
- Transformer 细节,Bert 细节(多头和缩放)
- 过拟合怎么解决
- 标签平滑怎么做的
- 交叉熵,相对熵
- Bagging, boosting , 偏差,方差关系
- CRF 理论与代码实现细节
- CRF 与 HMM 关系,区别
- 维特比,beam-search 时间复杂度,区别
「编程题」:编辑距离,完全二叉树的节点个数 (都是很经典的 leetcode 原题)
2 面: 60 分钟
- 实习,竞赛,问了 30 分钟
- 开源代码阅读情况
- XGBOOST ,LGB 生长策略,分类策略
- BERT 细节
- 少样本情况怎么缓解
「编程题」:15 分钟 写一个 k-means,没写完时间不够
3 面:20 分钟
- 聊人生,说前两面反馈给的好,就不问问题了。
HR 面: 20 分钟
- 讲一件你觉得很有难度的事,怎么解决的。
- 来段英语口语。
剩下时间就是问问题时间了。
从开始面试到拿到 offer 花了 3 天,字节效率极高。其中 1,2 面试连续面的,然后太晚了,不然估计 3 面也会连续面。
腾讯:校招日常实习
1 面: 25 分钟
- 实习,竞赛
- 优化器,系统的讲一下
- 实际场景下做 softmax 容易出现一些问题,怎么解决(面试的时候没明白什么意思,面试结束后询问,他是说实际场景做 softmax 很容易出现下溢问题,这个可以用每个维度减去一个固定值就可以了)
- 过拟合解决方法,正则项为什么能减缓过拟合
- 权重衰减等价于哪个正则项
- 传统机器学习方法了解哪些
「编程题」:打家劫舍 II
2 面:60 分钟 +8 小时下来做题。。。
- 实习,问得巨细,怎么和测试沟通,怎么和需求沟通,团队有几人,负责啥,难点是啥,你做了啥
「编程题」:leetcode-887,super egg drop,提前不知道这题是 leetcode 题,自己一直在硬做,后来给实习同事分享,同事告诉我是 leetcode 题很难得一道题。这题难的一*,面试里面剩余 30 分钟没做出来(基本属于刚理解题意),下来之后做了 2 个小时想出一个暴力解,被打回,第二天,想了 3 个小时,想到二分解法,被打回,又想了 3 个小时,想到数学解法。。。过了。(三种解法都对的, 不过面试官要求给出具体的策略和步骤,数学法比较直接可以直接给出,其他两种需要输出最优路径)。太菜了。。。。
3 面,GM 面:30 分钟
比较水,没问技术问题,全程实习竞赛。
HR 面
就问了啥时候能去,能去多久这种问题
腾讯流程很长,从官网投递简历,到拿到 offer,全程花了 20 多天。导师和 HR 很热情,面试完了就在交流了。
随便唠唠
难度上,总体感觉面的两个岗位,除了腾讯二面的编程题,其他都不是很难(可能是只是实习面试的原因),两家没有奇奇怪怪的问题,面试体验都很好,知识点范围基本都在面经百度第一页能找到。不过感觉自己比较幸运,遇到的字节面试官出的题都很常规,我同学面头条出的题,遇到了取数对弈,螺丝螺母匹配等烧脑问题。