我的 2020 秋招面经

煎熬的秋招终于结束了,写一下秋招期间的面经。

深信服

算法“大牛”

一面(7月19日,40 分钟)

  1. 自我介绍;
  2. 选一个自己觉得不错的项目谈谈;
  3. 这个和安全相关的比赛是怎么做的;
  4. 谈谈 Soft Attention,Attention 中需要先线性变换么?
  5. 算法题:一个数组,存在一个数只出现一次,其他数出现 k 次,找到只出现一次的数。

半周后显示挂了...

滴滴

国际化算法策略

一面(7月20日,25 分钟)

  1. 自我介绍;
  2. 聊下爱奇艺实习做的主要工作;
  3. 说一下 Transformer 和 BERT 模型;
  4. 问下竞赛用的 YouTube 模型,为什么是 Listwise,模型的输出是什么;
  5. 商品 Embedding 怎么做的,有哪些方法?谈了下随机游走 node2vec;
  6. 说下 word2vec 吧;
  7. 决策树如何剪枝的;
  8. 项目有一个自动微分框架是怎么做的,做了什么;
  9. 算法题:LeetCode 72 hard: 编辑距离。

二面(7月22日,60 分钟)

隔了一天二面,效率还是很高的

  1. 自我介绍;
  2. 主要问了研究项目细节,问的非常细节,如何做的,模型是什么,怎么评估指标的;
  3. 怎么进行单词划分与 Embedding;
  4. Attention 是什么,怎么做的?知道有哪几种 Attention;
  5. Transformer、LSTM 和单纯的前馈神经网络比,有哪些提升;
  6. 为了解决长依赖,有哪些模型,是怎么做的?LSTM 和 GRU 细节;
  7. 决策树是如何分裂节点的,分裂的增益怎么算的;
  8. 算法题:LeetCode 124 hard: 二叉树中的最大路径和;

三面(7月23日,40 分钟)

  1. 自我介绍;
  2. 爱奇艺实习细节;
  3. RNN、Transformer、BERT 之间的改进;
  4. DNN 解决过拟合的方法;
  5. 词向量技术进化路线;
  6. Word2vec 实现原理:两种方法,两种负采样;
  7. Wide&Deep 和 YouTube DNN 为什么可以做商品推荐;商品不是一个,多个怎么推荐;

推荐部分是因为问到了滴滴这边没有太多 NLP 场景提到的,没有做算法题。

顺风车业务线

上一轮不知道为何被挂了,而且主要还没通知,然后又让来一轮

一面(8月4日,20 分钟)

面试管解释了下上轮问题,然后 HR 安排面试的问题。

  1. 说两个做的项目

然后介绍了下业务就说帮忙尽快安排后面两面;

二面(8月4日,45 分钟)

紧接着上轮。

  1. 项目简述;
  2. 写一下交叉熵公式;
  3. DSSM 架构是什么;
  4. Transformer Encoder 有什么子层?
  5. 算法题:求三次方根

三面(8月4日,20 分钟)

紧接着上轮

  1. 讲一个项目;
  2. 对项目细节提问;
  3. 反问;

HR(8月12日,20 分钟)

  1. 自我介绍;
  2. 为什么投递选的只接受 SP,如何看待 SP 的;
  3. 从哪儿了解对比薪资的?
  4. 有哪些公司在进行中,最心仪哪个;
  5. 反问环节:滴滴新人培养是怎么样的?

没后续了???

字节跳动

提前批(Data AML)

AI Lab 简历挂了,Data AML 捞了。

一面(7月27日,45 分钟)

  1. 无序数组 Top K,时间复杂度,给出一个最坏复杂度的样例;
  2. 项目,假设他不懂这个项目,从头讲到尾;
  3. 写一个 Softmax 实现,注意上下溢出问题;

二面(7月27日,60 分钟)

一面结束等 10 分钟,连续两面;

  1. 决策树,熵的公式、如何分裂,如何剪枝,回归树、分类树的做法;
  2. 手推 LR 的损失函数、损失函数怎么来的、梯度如何计算,写成一个完整的类;
  3. 给前序中序,求后序;

三面(7月31日,45 分钟)

面试官在美国,选了早上八点钟面试...

  1. 给出 6 * n 的方块,用 1 * 2 或者 2 * 1 的方块覆盖它。不要求求出具体的个数,证明该方法时多项式级数还是指数级数;
  2. 说一下 word2vec,为什么通过对单词预测可以学习到单词的 Embedding;
  3. 说一下 Transformer 中为什么 decoder 比 LSTM 慢;
  4. 问下能不能提前来实习,反问环节...

HR 面(8月3日,20 分钟)

有些忘了,挺常规的

  1. 自我介绍
  2. 平时实习和 mentor 怎么沟通的,频率多少;
  3. 实习做了什么;
  4. 自己有什么缺点?
  5. 如何看待百度的?
  6. 对北京和杭州有什么看法等等;

腾讯

提前批

技术大咖时间段投的,不确定算哪个,打电话随便聊聊,PCG QQ 部门。

一面(7月22日,50 分钟)

  1. 编程:cpp 实现链表乘法;
  2. 问爱奇艺文本生成项目,输入输出,损失函数什么的,这里损失函数我说错了,太久没看了把 mle(标签平滑损失)记成 mse(均方差误差)导致各种卡壳。
  3. Transformer 相比 RNN 优势;
  4. GRU 对比 LSTM 优势;
  5. 问研究项目语义搜索相关的内容:样本构造,模型,损失等;

大概率凉了,主要是损失记错了,正好当复习了;

二面(7月22日,30 分钟)

晚上突然打个电话来问可以现在面试吗?

  1. 自我介绍;
  2. 关于微软实习的内容;
  3. 问研究相关的,问的不多;
  4. Batch Normalization 怎么做的,有什么用;
  5. LSTM 三个门是怎么做的,如何解决长依赖;
  6. 如何解决过拟合的?Dropout 和正则化在改善过拟合上有什么不同?
  7. 哪里人,对深圳有什么看法吗?看了下 GitHub 问有什么可以看的...

二面完显示 HR 面了...

HR 面(7月28日,30 分钟)

  1. 觉得前两面感觉怎么样,有什么意见;
  2. 谈一下自己的经历;
  3. 说一下自己的实习项目,主要做了什么,解决了什么,如何评估效果;
  4. 提前批考虑别的公司了吗,如何决定选择哪个公司,如果腾讯发 offer 了会怎么决定;

新浪

牛客 SP 专场批次

新浪新闻,用的全时会议;

一面(55 分钟)

  1. 无序数组找第 K 大元素;快排有什么改进没;快排写的一塌糊涂,不太行;
  2. 问实习,从项目初期到最后,怎么做的、如何改进的;
  3. 手写一下 attention;
  4. 有什么想问的,或者自身有什么优点还没有谈到的。

二面(20 分钟)

一面结束几分钟后,不确定是不是二面

  1. 问简历,从头到尾;
  2. 能否提前实习?

快手

搜索岗

一面(8月14日,60 分钟)

  1. 基本问简历,每一个细节扣的非常细;
  2. 模型大致范围包括 Transformer、BERT、GPT2,结构和区别,Mask 都是怎么做的;
  3. 讲一下 Attention;
  4. 项目细节包括数据来源、模型怎么做的、正负样本选择等等;
  5. 知道哪些自然语言处理的 trick,例如 TextCNN?
  6. 主动谈到了 Word2Vec 聊了下负采样,负采样为什么要这样做?
  7. 算法题:最大连续子数组和,找连续子数组和为 K。

二面(8月14日,50 分钟)

连续两面

  1. 写一下归并排序(想着写原地操作没写出来。。)
  2. 问实习项目怎么做的?
  3. 简历问的内容和上面的几乎一致。
  4. 模型训练速度慢,如何加快
  5. 过拟合问题怎么解决
  6. Dropout 细节

整体快手面试体验都很好,面试官技术水平在线,对话流畅。就是代码没写出来难受。

三面(8月20日,50 分钟)

突然让我上线面试。

  1. 问了实习;
  2. 场景题:如果有很多视频以及他们的相关文本,如何给视频添加检索的 query?
  3. 算法题:(0, 0) 到 (m, n) 只能向上和向右,有多少种方案,带有障碍物呢?
  4. 算法题:rand() 产生 0~1 之间的数,如何从 m 种取 n 个数;
  5. 场景:如果想要生成的文本有一定倾向,怎么去做?

四面(8月27日,15 分钟)

部门老大面试

  1. 介绍下项目,其中的技术;
  2. 给我介绍团队,两个主要方向,问对什么感兴趣;
  3. 还有什么不明白的;

9月6日 显示已结束???

推荐岗

一面(9月24日,45 分钟)

上来先说了下流程:项目面,讲一下项目做两个题,没有自我介绍环节

  1. 针对实习项目提问,主要涉及其中的一些业务场景一点,没有对某些技术提问。例如
    1. 如何处理安全回复;
    2. 新闻时效性和全网时效性如何互补,Bing 不同团队负责内容是否会有冲突;
    3. 如何做一些弹幕生成;
  2. 算法题:单词翻转变种;

二面(10月13日,40 分钟)

  1. 面试官自我介绍(Facebook 大佬...)
  2. 为什么投快手?
  3. 数学题:Rand7() 生成 Rand10();RandN() 生成 RandM() ;用的拒绝采样法,说回答的很精彩。
  4. 编程:旋转数组找数;
  5. 看你是搜索更感兴趣?求生欲强回答:不不不也对推荐感兴趣。然后问如何设计 A 站搜索。宏观的业务问题。

面试官评价感觉工程能力不是很强,但对校招生而言很好了。然后因为组织架构调整,也还不知道新的业务方向。

网易

网易有道-正式批

一面(8月15日,50 分钟)

  1. 实习内容;
  2. BPE 分词,有什么优势;
  3. 谈谈 Beam-Search,与贪婪做对比,还谈了采样温度和 TopK 采样;
  4. 深度学习如何做分词;
  5. 算法题:连续数组找某个数的起点和终点;

二面(8月15日,50 分钟)

  1. 简历项目内容,BPE 分词怎么做的,对比 WordPiece 呢?
  2. 如何扩充样本?Sentence 如何变成向量;
  3. 说下预训练模型,新的模型例如 XLNet、RoBert 知道吗?
  4. 常用的优化器说下?
  5. TensorFlow 中如何调试、Variable 和 get_variable 有什么区别?如何共享参数的?没怎么用过 TensorFlow...
  6. Python 中变量的作用域有哪些?
  7. 算法题:找二叉树中节点与自身祖先绝对差值最大的值;
  8. 算法题:含有若干 abc 三个字符串中,有多少个 "abc" 序列

挂了,结束 10 分钟就知道。

百度

提前批

一面(8月26日,70 分钟)

  1. 纯项目,问实习问的非常细致(严重怀疑套方案);
  2. 算法题:找到超过一半的数;
  3. Linux 查找特定任务
  4. Python 两个无序数组去重合成一个升序数组

正式批

一面(9月13日,60 分钟)

  1. 问项目,对其中项目的流程化做出提问。
  2. 算法题:判断一个点是否在多边形内。
  3. 场景:判断地图路线绕路了。
  4. AdaBoost,CART 讲一下。分类器让某一类别精度要求高,某些类别要求低一点?
  5. EM、GMM 算法知道吗?不太会机器学习。
  6. 深度学习如何计算神经元权重的?顺便说了下工程上的自动微分算法。
  7. 数据不均衡问题。

美团

正式批

一面(9月3日,45 分钟)

  1. 实习项目
  2. 对知识图谱了解吗?
  3. Pooling 反向传播方法?
  4. 给一个词典,判断句子有多少种分词个数?

二面(9月4日,50 分钟)

  1. 实习项目,对一些技术细节提出疑问(25-30 分钟)
  2. 做过知识图谱吗,没做过,觉得应该涉及哪些技术?
  3. DeepWalk 模型了解吗?怎么做的。
  4. Word2vec 怎么采样负样本,有哪些方法?
  5. 度量学习了解吗?Triplet loss 知道吗?
  6. 文本内容理解应该涉及哪些文本技术,需要哪些特征?比如给用户呈现新闻排序?
  7. 怎么判断文本低质量?
  8. 怎么判断文本涉及黄恐暴?

阿里巴巴

高德

一面(9月9日,50 分钟)

  1. 常规讲项目。
  2. Warmup 和 weight decay 有区别吗?区别是?
  3. 做过模型优化吗?模型蒸馏和模型裁剪?
  4. YouTube DNN 论文相关的,频率负采样会造成有偏如何解决?如何进行 pairwise 设计?

小米

正式批

一面(9月14日,30 分钟)

  1. 选一个项目讲一下,文本生成的那个。问到了一些细节,如何满足多样性?如何解决生成重复?
  2. Beam Search 源码看过吗?是怎么结束的?开放性问题,没看过也没关系。
  3. BPE 算法英文全称知道吗?说下原理?能解决什么问题?
  4. BERT 激活函数、Transformer 激活函数。
  5. BERT 的变种?聊了下 ALBERT,知道模型蒸馏吗?谈了下原理
  6. 算法题:两个数组最长连续子串长度。

二面(9月16日,50 分钟)

  1. 讲实习、项目。主要是 Transformer 、BERT 细节
  2. 问了下平时怎么学习的,导师实验室相关的
  3. 问未来打算的方向:NLP 阅读理解还是底层加速等等。
  4. 看到了个自动微分的项目,问了下,静态图和动态图区别,实现方式。
  5. 给了个 Beam Search 源码,问其中某一行为什么?(beam_keep = beam_size × 2)