2020暑期实习BAT算法岗面经

本人基本情况:211本硕,本科电子信息工程,硕士通信与信息系统,典型的非科班,无论文,两段实习经历(均为算法岗,非大厂,一段CV,一段NLP)。
offer情况:
百度——推荐策略部——算法工程师(已offer)
阿里——阿里云智能事业群——阿里云——基础产品事业部——神龙计算平台——算法工程师-机器学习(已获意向书)
腾讯——互动娱乐事业群IEG——腾讯游戏数据中心——算法工程师-机器学习(已offer)

阿里:
技术面共四轮(其中一轮交叉面),HR面试一轮。
一面:未预约,直接打来电话面试。(1h 40min,代码给了非常久的时间,笔者C++代码写了上百行)
1. 介绍自己参与的CV项目(笔者曾参与过一个做行人属性识别的图像分类的项目,对某些经典CNN模型以及图卷积网络有所了解)
在介绍项目时穿插提问了很多经典问题:过拟合(笔者回答了Early stop, Dropout, 正则化等技术的原理以及个人理解),梯度消失(笔者从初始化和Normalization两个角度回答),学习率调整策略等
2.为什么GCN难以训练
笔者从Over smoothing,梯度消失等方面回答
3.C++中的内存泄漏是怎么发生的?
4.如何避免C++中发生内存泄漏?
5.服务器上运行的服务已经发生了内存泄漏时如何处理让服务器恢复到正常状态?(这个真不会。。。)
6.编程题:C++语言,在阿里伯乐在线测评系统上写代码
// 评测题目: 最少新建道路条数
// 已知有N个城市,城市编号1...N
// 已知M条路,每条路表示为(x_i, y_i), xy分别为城市编号
// 现在需要新建道路,确保任意两个城市之间,是可以通过一条或者多条道路联通
// 求解能够达到此目的的最小道路条数

// 思路:BFS或者DFS应该都可以找到城市簇即可。

二面:预约,视频面试(2h)
1.介绍自己参与的CV项目和NLP项目
介绍NLP项目的时候提问了了BERT等预训练模型的相关知识,以及Attention技术的相关知识。
2.谈一谈模型压缩的相关知识
三大角度:蒸馏,剪枝,量化。笔者分别介绍了三大角度的基本原理。
还有一些零碎的知识:低秩分解,ALBERT中的参数共享,深度可分离卷积,Inception V3中的大卷积核替代方案等。
3.剪枝与正则化的联系
笔者从结构化剪枝与非结构化剪枝分别对应Lasso和Group Lasso的角度来回答,这也导致面试官引入了下一个问题。
4.结构化剪枝和非结构化剪枝
5.CV中的目标检测基本算法
笔者谈了YOLO,SSD,Fast R-CNN,由于笔者并未参与过与目标检测相关的项目,所以只了解一些经典算法。
6.特征金字塔FPN的作用
7.C++语言中的继承体系。
8.C++语言中的多态。
9.数据不平衡问题
笔者不光从欠采样过采样等经典解决办法的角度回答。另外回答了一些其他方法:GAN(ICCV 2019 best paper:SinGAN),特征空间增广,改进训练方式(源数据训练特征提取backbone,欠采样或过采样训练分类器),Loss加权,使用AdaGrad优化器等。。。
10.优化器
SGD,SGD with momentum,NSGD,AdaGrad,AdaDetla,RMSProp,ADAM,NADAM,RADAM+LookAhead等。

三面(交叉面):预约,电话面试(17min)
据笔者了解,阿里交叉面主要是为了防止作弊,挂人的可能性较小,但是不排除。
1.介绍预训练语言模型
ELMo,BERT,Transforler-XL,XLNET,ERNIE,RoBERTa,ALBERT,ELECTRA。。。笔者从BERT的mask LM以及NSP任务出发讲解了BERT后续各大预训练的改进。
各大预训练语言模型可能不能从头到尾讲起,笔者线是介绍了BERT,然后从BERT的预训练任务出发,比如介绍了ERNIE中对mask LM的改进,ALBERT中将NSP任务替换为SOP任务等。。。
2.Attention原理
主要讲的是Transformer中Multi-Head Scaled Dot-Product Attention。注意,这里有一个Mask Attention机制,它对于Transformer Decoder和XLNet的实现原理非常重要,同学们如果了解相关知识点,一定要对这个Mask Attention知识点进行深入的理解。
3.Multi-Head Attention中如何优化Muti-Head的计算?
笔者并无相关底层优化经验,所以回答:借助CNN底层计算原理,将多头变换展开为二维矩阵(填充大量0),将多头变换转为矩阵乘法运算。

四面:未预约,电话面试(1h)
1.介绍CV,NLP相关项目,调参经验
重点介绍了学习率调整策略(固定step衰减,余弦衰减,余弦循环学习率等)
寻找最优学习率的方法(学习率从小到大观察Loss)
Warmup与优化器的搭配使用(笔者主要是谈Adam与Warmup的搭配使用,解释了Warmup的一些直觉上的理解,这个建议大家去看看知乎)
固定参数训练的相关经验(笔者回答了如何使用Pytorch和Tensorflow如何固定参数训练,主要讲代码怎么写的。。。)
模型陷入局部极小(或者鞍点)的处理办法(优化器选择,短时间增大学习率等方法)
2.MobileNet的原理
深度可分离卷积,从参数数量以及计算量角度与传统卷积对比分析
宽度因子,分辨率因子
MobileNet与Xception以及ShuffleNet的对比
3.是否测试过MobileNet在不同计算设备上的运行速度?
这个真没有。。。
4.数据结构:最大堆最小堆的概念,归并排序时间复杂度,稳定排序和非稳定排序,二叉搜索树的递归定义

HR面试:预约,视频 (16 min)
1.自我介绍
2.学习成绩,GPA
3.论文,专利
4.职业规划
5.为什么选择这个岗位

总结:阿里的考察非常全面,一二面考察偏重基础,四面考察偏重业务,交叉面比较简短。笔者为通信专业,非科班,这里要提醒非科班的同学一定要重视基础,尤其是数据结构,不能光刷题,要系统的仔细的学习这门课程!!!

腾讯:
笔者是提前批录取,无笔试,非内推。
笔者经历2轮技术面,一轮HR面。
一面:电话面试(1h)
1.自我介绍
2.简述GCN的原理
笔者从直觉角度(特征聚合,特征变换)回答,这个角度与空域图卷积非常类似(实际上GCN有着充分的理论基础保证,所以还应该从谱图卷积的角度回答,详见问题5)
3.介绍你所了解的GCN的变体
这里笔者结合近两年看过的GCN相关的论文,讲了一些关于GCN的改进
4.GCN有什么问题
笔者仍然从Over smoothing,梯度消失等方面回答
5.如何从标准的谱图卷积过渡到现在的典型GCN。
谱图卷积——切比雪夫多项式近似频域卷积核——取一阶近似并对切比雪夫系数进行化简
6.GraphSAGE的基本原理。
7.GraphSAGE中的聚合方式。
8.GraphSAGE与GCN的的区别。
这个问题是非常重要的,要从Transductive和Inductive的角度去解释GraphSAGE和GCN的本质区别。
9.Spark中Map-Reduce的原理。
二面:电话(1h)
1.自我介绍
2.GCN,GraphSAGE,GAT等模型的联系和区别
3.GAT和Attention的联系和区别
笔者认为实际上GAT是早期的Attention技术中的Local Attention的一种特殊形式。
4.介绍一下你所了解的在大规模图上构建GCN的方法
5.GCN,GAT,GraphSAGE哪一个更适合于大规模图?为什么?
6.传统图嵌入算法:Deepwalk,Node2vec的原理以及区别?
这两种算法都是源于Word2vec,Node2vec在Deepwalk的基础上添加了两个超参数用于控制随机游走的倾向(DFS和BFS)
7.在大规模图上使用Deepwalk,Node2vec会出现什么问题?
笔者并无相关经验,不过笔者了解NLP中关于Word2Vec中采样的长尾分布问题,所以将这个问题类比到Deepwalk和Node2vec中。
8.Map-Reduce原理
9.Q-Learning和DQN的区别?
这个是强化学习的问题,笔者只了解过一些经典强化学习算法,并未真正参与过相关项目。
DQN使用一个NN代替Q-Learning中的Q表,Q-Learning无法处理某些状态空间S非常大的场景(Q表太大,无法存储和更新),所以使用神经网络代替Q表输出Q(s, a)。
HR面:
1.自我介绍
2.以往的实习经历中你认为自己学习到了哪些经验?
3.你觉得你自己对于这个岗位来说最大的优势是什么?

总结:笔者面试的腾讯游戏数据中心的复杂网络处理组,主要工作就是处理大规模社交网络图。腾讯的考察风格与阿里不同,腾讯考察内容几乎全部都是与Graph处理相关的,非常贴合实际业务,需要同学们对某一个方面有着非常细致深入的了解。

百度:由于百度是3月份面试的,印象并不深刻,当是也并未做面经,这里笔者尽力回忆。
百度共三面,一二面为技术面,三面为部门主管面。
一面:电话(1h)
1.介绍自己参与过的推荐系统项目(笔者的大神级别的师姐从事推荐系统相关研究,笔者曾给大神师姐打杂)
2.介绍了一些经典的推荐系统算法。
协同过滤(基于用户,基于内容),矩阵分解及其后续改进(PMF等,建议大家去搜索博客园刘建平老师整理的博客,言简意赅)
3.介绍了一些基于深度学习的推荐算法
BPR(贝叶斯个性化排序)系列,CDL(基于MF架构引入自编码器提取item特征),CML(度量学习范畴),NCF,RRN(基于RNN建模用户历史偏好),基于强化学习的推荐算法等。
4.C++多态
编程题:有环链表(剑指Offer面试题23)

二面:电话(1h)
1.重点聊了推荐系统项目。
笔者曾经参与过基于异质信息网络的推荐系统算法研究,对于该研究,面试官提出很多细节问题:
1.异质信息网络中的异质信息是什么,如何构建异质信息网络
利用user,item,tag等信息构建异质信息网络,异质信息包含user,item,tag等
2.如何从异质信息网络中提取user,item的Embedding
Deepwalk,Node2vec等Graph Embedding方法
3.Deepwalk,Node2vec的区别
4.Node2vec中分别以BFS和DFS的方式游走会对最终的推荐结果产生什么影响?
该问题在Node2vec的论文中有阐述
5.metapath(元路径)有了解吗?
6.使用metapath(元路径)的好处
笔者是从物理意义角度回答的
2.BPR(贝叶斯个性化排序)的理解
笔者认为BPR能够利用大量的隐式反馈,这是最重要的。传统MF等方法只利用显示反馈,导致大量的Embedding更新不足。

编程题:删除链表节点

主管面:电话(1h)
不是技术面,就是谈谈职业规划,想来做什么样的工作的。。。

百度这边,由于是推荐策略部,考察推荐算法相关的内容多一些。

--------------------------5.12日更新----------------------------
对阿里腾讯中的部分面试题做了细化
更新了百度面经
#阿里巴巴实习##阿里巴巴##腾讯##百度##算法工程师##实习##面经#
全部评论
cv nlp双修大佬
4 回复 分享
发布于 2020-05-05 11:24
这太无敌了....
3 回复 分享
发布于 2020-05-28 11:22
说实话确实强
2 回复 分享
发布于 2020-05-28 11:33
给大佬递阔乐!
1 回复 分享
发布于 2021-03-11 10:50
大佬最后要去哪里呢
点赞 回复 分享
发布于 2020-05-19 10:40
1 回复 分享
发布于 2020-05-15 17:06
GCN,mobile net,强化学习那些模型是简历上写了的吗
1 回复 分享
发布于 2020-05-06 12:26
很强啊,这么多内容的东西都掌握了
点赞 回复 分享
发布于 2022-03-11 09:28
请问腾讯电话面怎么做算法题
点赞 回复 分享
发布于 2021-03-27 15:16
请问你简历写了Spark中Map-Reduce吗
点赞 回复 分享
发布于 2021-03-16 20:17
有点牛皮,三个全中
点赞 回复 分享
发布于 2021-03-16 09:22
点赞 回复 分享
发布于 2020-07-13 11:24
大佬实习的小厂是哪些厂
点赞 回复 分享
发布于 2020-06-01 10:28
为什么你掌握的只是那么广,从传统机器学习到cv到nlp,也太强了吧
点赞 回复 分享
发布于 2020-05-24 12:58
感谢大佬分享,问下机器学习岗一般偏向与传统的机器学习算法吧,看你面筋似乎没有涉及这些。是大佬简历太强了,还是说cv投机器学习岗没有问题呢
点赞 回复 分享
发布于 2020-05-17 11:21
请问楼主阿里一面的算法题应该怎么做啊?
点赞 回复 分享
发布于 2020-05-09 16:53
GCN,mobile net,强化学习那些模型  怎样学的呢?学了多久?为什么学呢?精通同一个不好吗?
点赞 回复 分享
发布于 2020-05-08 11:07
大佬
点赞 回复 分享
发布于 2020-05-05 15:07
q神牛逼!!!!!!
点赞 回复 分享
发布于 2020-05-05 11:36

相关推荐

点赞 评论 收藏
分享
补发一下之前面试腾讯的面经,具体timeline可以参考前面的帖子。一面(约30mins):自我介绍,挑一个简历里最好的一个项目详细介绍下项目中遇到了什么挑战,怎么解决的了解DeepSeek吗,为什么DeepSeek现在这么火?说一下DeepSeek里的MLA和GRPOGRPO和DPO,PPO,RLHF的区别看你之前有LoRA微调DeepSeek的项目,简单说说微调经验,效果如何RAG在检索阶段能有哪些优化?(sub-query,HyDE等)二面(约1h10mins):自我介绍,拷打简历。写一下GRPO的公式先屏幕共享从头到尾walk through讲一下DeepSeek技术报告论文。面试官中间会穿插提问DeepSeek-v3/r1/r1-zero有什么区别DeepSeek-r1-zero的冷启动数据是怎么组成的DeepSeek-r1-zero解决了DeepSeek-r1的哪些问题如何解决大模型的幻觉Embedding如何微调(讲了对比学习啥的)RAG的评测指标有哪些业界现在function call的做法和水平场景题:大致是RAG中检索结果遇到张冠李戴的问题该如何解决举几个例子能够体现你的研究能力三面(约30mins)拷打LoRA微调项目,问了实验的数据集,参数设置,结果如何等等你目前的研究方向主要是什么?讲一下ReRanker的目的,做法有哪些场景题:我现在运用RAG来检索回答,目标是检索四个季度的表格数据,但是经过检索+ReRanker后只出现了三个季度的数据,该如何解决hr面(约15mins)比较常规,大致如下:用三个词语描述下你为何能胜任这份工作你的优缺点都说一下你过往实习项目中遇到过的最大困难是什么,怎么解决的最早实习时间,实习时常引流:腾讯字节阿里淘天美团拼多多
Rafae1:接好运
查看27道真题和解析
点赞 评论 收藏
分享
结合最近辅助修改的简历及项目,老师总结了部分大模型微调简历的踩雷点。🙅‍♂️错误示范:在 x任务中,获取 xxx 条数据,通过规则 or 脚本清洗出 x 条数据,然后微调 y 大模型,在业务上提升 x 个点。✍🏻原因:大模型微调的平台是现成的,基模是现成的,体现不出核心能力。✅应该怎么写?首先介绍业务背景:业务是一个销售对话业务,机器人是销售,代替真人,直接面对用户。我们会给模型设定任务,任务是 prompt 。步骤1️⃣.提取训练数据问题:1.真人通话每通电话任务是未知的,我们训练数据是任务+通话的 pair 对。2.真人通话很乱,与客户的对话是各种交叉的,导致 asr 后并不是一人一轮。解决方案:1.首先通过大模型 prompt 对该通电话提取任务,得到任务+ pair 对。需要用到 cot + reflection +多 Ilm 一致性+ debating 的模式。2.使用大模型根据以上任务和真人对话,让大模型编写出通话内容。提问,为什么要编写而不是直接用?步骤2️⃣.制定训练数据集问题:1、正常的对话内容,前面几句和后面几句基本上一致的。都是问候和拜拜,但是也有一些差异。2、因为都是相似场景,虽然任务不同,但是很多场景语义很相似。解决方案:1、基于轮次的权重采样:通过轮次设定权重进行 weighting sample 。解决问候和拜拜的高占比问题。2、基于语义的采样:使用 bert 对对话内容进行 embedding ,然后使用层次聚类通过调节阈值聚类出相似语义的类。对一个类里的样本进行随机采样,提问,为什么要对重复语义的数据进行下采样?3、基于客户类型和产品的采样,因为很多产品是热品,导致对话内容有偏,用户类型一样,需按照类型调整整体比例采样。提问,为什么要这么采样?步骤3️⃣.制定训练数据集我们直接把输出当作 target 进行训练。使用的 lora 训练,但是 lora alpha 设定成为4倍的时候达到了比较好的效果,经验值不同任务不一样,提问,在各种情况下要怎么调?步骤4️⃣.dpo训练问题:v1版本训练时,很多输出内容是对的,但是输出的语气不太像真人,机器人味还是很严重。解决方案:由于训练本身是有 ground truth 的,因此使用v1训练的模型,预测训练集,使用大模型对比两者语气不符合训练集的拿出来,使用训练集的 ground truth 和模型的预测数据作为 dpo 训练对,对v1版本模型重新训练。📳这里老师只是简要进行概括解答,具体情况和详细解答可以咨询辅导,如果想了解项目辅导,提升面试能力,欢迎后台联系。    
点赞 评论 收藏
分享
评论
47
238
分享

创作者周榜

更多
牛客网
牛客企业服务