CodLe

Keep calm and make sure the growth is my own business.

我的 2020 暑期实习面经

Codle / Jul 24, 2024


本人情况:双非本末流985研二,爱奇艺 NLP 日常实习经历,无论文,投的都是 NLP 算法岗。

阿里达摩院(挂)

一面(45分钟)

上来面试官介绍他们组情况,问我有什么想问的?我有点懵逼,这不是一般最后的环节吗。

  1. 问研究生期间的研究方向;
  2. 研究内容有提到 DSSM,询问是否知道现在对 DSSM 的改进模型,回答不知,现在更多做的生成模型,因此问题转到生成模型;
  3. 询问对生成模型的了解,发展情况,询问项目中的难点,回答解码策略,谈到了 Beam Search 和 Random Sample 策略。
  4. CNN 模型中池化层的作用,Max Pooling 是如何反向传递梯度的。
  5. 机器学习中正则化做什么的?约束模型参数,防止过拟合。
  6. 正则化有 L1 和 L2 正则化,区别是什么?扯了一下解空间什么的,这一部分参看《百面机器学习》中 【L1 正则化与稀疏性】部分的内容,基本就是我遇到的问题了,我没回答上。
  7. 问深度学习,Transformer 模型架构说一下?按照图结构 balabala 说下。
  8. Dropout 有什么作用?类似于 Bagging 。在 Transformer 模型中 dropout 主要用在哪里?dropout 在每个子层之间,设置为 0.1。看过源码吗?看过源码,看的哈佛实现的那一版本。(面试官应该也看过这个版本,说写的很好)
  9. Transformer 和 BERT 的位置编码有什么区别?
  10. Transformer 用的 Layer Normalize 还是 Batch Normalize?Layer,有什么区别?...
  11. 传统机器学习会哪些?决策树和 GBDT 区别说下。
  12. Sigmoid 和 ReLU 区别,ReLU 解决了什么问题。
  13. 怎么学统计机器学习的?看视频...
  14. Python、C++、Java 哪个用的多一点?值传递和引用传递区别。
  15. Python 垃圾回收了解吗?用过,细节不清楚。
  16. 进程和线程区别
  17. Linux 多个进程如何通信的?socket 和管道
  18. 贪心和 DP 区别?
  19. DP 的一般做法流程?
  20. 开放问题,海量商家和海量语料,语料不平衡,语料对商家 group by 后按照时间排序,怎么解决。先扯了下哈希分桶,不平衡用归并排序。

结束,他觉得还 OK,问了下有啥改进的?他说问机器学习这部分可以多看看,因为一方面部门有发论文要求,另一部分可以看出一个人的求知欲。。。

二面(80 分钟)

面试官是个学术大佬,全程项目细节+前沿模型理论+项目落地实践,谈的多的主要包括有:

  1. DSSM 语义匹配模型及其变种
  2. 预训练模型:Transformer、BERT、UniLM 等等模型细节,区别,模型中的 Attention 使用、Mask 使用
  3. 文本生成任务实际问题:一对多训练如何训练(从数据角度、模型角度创建一对一条件)、如何创造无监督标签、如何提高生成文本的信息含量避免安全回复生成。

腾讯

投的 WXG,打电话问了下时间就再也没后续了,被 PCG 捞了,难受。

QQ 看点 一面(60分钟,挂)

  1. 自我介绍
  2. 个人研究内容,做法模型细节
  3. 爱奇艺实习内容,细节
  4. 做道题,输出全排列,递归做法

非做题部分大概有 50 分钟,做题给了 15 分钟,实际可能 5 分钟。

不知为何挂了。。。

腾讯新闻 一面(80 分钟)

面试官感觉没看过简历,非常不耐烦什么的,语气也不是很好

  1. 谈下你做过项目(就是问简历),说了下研究内容与实习
  2. 研究内容的流程细节
  3. 实习经历简要掠过
  4. Dropout 了解吗,说下作用,白板编码实现一下?
  5. 梯度爆炸梯度消失了解吗?
  6. 一堆恶意文本 case,怎么检测去除(一些网页上的广告评论),传统方法、AI 方法
  7. 最长重复子序列,我自己实现了个暴力,又写了个动态规划。
  8. 有序含重复值数组找某个值第一次出现的位置。

腾讯新闻 二面(80 分钟)

  1. 研究内容,并画出 Seq2Seq 模型结构;
  2. 实习工作细节,如何引入知识图谱(不会,随便说了下);
  3. 天池比赛细节,思路来源;
  4. Python 列表合并方法有哪些:加法、extend,区别,旧内存如何处理;
  5. 概率题:甲乙扔骰子,获胜概率相同,投 10 次,已经 5 次了,甲已经赢了 3 次,问甲获胜概率。

腾讯新闻 HR 面

起床前来了个电话大概五分钟,谈了下实习时间、地点,实习不一定能转正什么的。官网状态变成了已完成,说本周或者下周一二给 Offer。

微软

一面 IC1(50 分钟)

  1. 问研究方向与实习工作内容
  2. Transformer 结构,BERT 有几种 Embedding 编码,分词方法?
  3. 能否实现下 Word Piece ?忘了步骤了,换成实现一下从若干文件中生成一个词典,即 word2idx 和 idx2word
  4. 算法题:给一个数组 A = [2, 4, 8, 3] 输出一个数组 B,其中 B[i] 值为 A 中小于 A[i] 的元素值之和,B 应该为 [0, 5, 9, 2](小于 2 的有 [0],小于 4 的有 [2, 3] ...)
  5. 上述题目用到了 sort 能否自己写一下 sort 函数,写了个快排

二面 Lead(60 分钟)

微软有 IC1 和 IC2 平行两轮,任意一轮通过则进入 Lead 面,后续可选可能存在 AA 面。

  1. 自我介绍
  2. 问研究方向和实习工作内容(30分钟左右),主要还是研究方向的背景和任务、实习期间的工作,遇到什么问题,怎么解决的
  3. 算法题 1:原地移动数组,使得元素对应顺序不变,0 值移动到末尾,LeetCode 283
  4. 算法题 2:二叉树直径,LeetCode 543

美团

一面(40 分钟)

  1. 研究方向和实习
  2. 开放性问题:如何根据美团的商品评论,生成商品的描述。传统抽取方法,语料大后上深度模型。采用类似于 TF-IDF 的思想避免抽取的描述太大众化没有特点。
  3. 算法题:打印 N 个数组整体最大的 Top K:有 N 个长度不一的数组,所有的数组都是有序的,请从大到小打印这 N 个数组整体最大的前 K 个数。

二面(60 分钟)

  1. 研究方向与实习经历
  2. 天池比赛怎么做的(唯一一个问我比赛的)
  3. 算法题 1:牛妹在练习打字,现在按照时间顺序给出牛妹按下的键(以字符串形式给出, '<' 代表回退 backspace,其余字符均是牛妹打的字符,字符只包含小写字母与 '<'),牛妹想知道最后在屏幕上显示的文本内容是什么。(用个栈即可)
  4. 算法题 2:在这个特殊的假期里,由于牛牛在家特别无聊,于是他发明了一个小游戏,游戏规则为:将字符串数字中为偶数位的数字进行翻转,将翻转后的结果进行输出。(头尾双指针)
  5. 算法题 3:牛牛有一个 n 个数字的序列,现在牛牛想把这个序列分成 k 段连续段,牛牛想知道分出来的 k 个连续段的段内数字和的最小值最大可以是多少?(我用的递归,似乎大数据过不了,应该考虑尾递归或者用个 Map 存一下已经计算过的片段值)

三面(50 分钟)

  1. 自我介绍
  2. 研究内容细节,实现方法,准备如何使用 BERT,BERT 这一块问的很多,包括对 BERT 怎么理解的等等。
  3. 实习经历细节
  4. 算法题:最长公共子串
  5. 提问环节:问了下对方工作内容与现行技术,基本以 BERT 为主的各种文本任务。

百度

官网投递,笔试两道编程都没 AC,其他倒是写了很多

一面 (50 分钟)

  1. 项目研究内容,粗谈一下,没问细节;
  2. 概率题,三个硬币,一个硬币两面人头,一个硬币一面人头一面数字,一个硬币两面数字,问随机拿去一个硬币,其中人头向上,问另一面人头也向上概率;
  3. 编程题:升序倒序数组找 target,做题有点久,其他很短

二面(40 分钟)

  1. 数组 Top K 数
  2. 个人研究怎么做的
  3. 谈谈 Transformer、BERT、GPT2
  4. Sigmoid、Tanh 函数与导数
  5. 梯度爆炸怎么解决
  6. 最近在看什么论文

二面没了应该挂了

网易(挂)

投的网易有道 NLP 岗位,笔试编程感觉做的还凑合来着:100,90,60,10,最后却笔试挂了。

字节跳动(挂)

AI Lab 算法岗,内推简历挂,挂的莫名其妙,可能是官方简历没填内容只添加了附件。