点击上方,选择星标或置顶,每天给你送干货!
阅读大概需要7分钟
跟随小博主,每天进步一丢丢
来自:海边的拾遗者
写在前面
作者是一名应届的学弟,本人十分优秀,本文写在校招过程中。
背景为985本硕,从研究生才开始研究机器学习算法,有两篇已发表论文(CCF A + CCF B),没有任何与机器学习相关的实习经历,秋招求offer中,虽然还没有完全上岸,但是陆陆续续还是面了一些公司,并在此记录一下百度面试的过程。
准备:4月开始准备,开始刷剑指offer和leetcode,看了两遍李航老师的统计机器学习(第二版),过了一遍百面机器学习,复习了一下自己写的论文已经相关的一些经典论文。
如下仅为部分面经,墙裂欢迎各互联网大佬来撩!
作者邮箱:13402877073@163.com
具体面经分享
7.08投递
7.20一面 1.5h
自我介绍。
代码题:1.快速排序 2.剑指offer42:DP+空间复杂度O(n)到O(1)的优化。
LR:大概讲讲原理(大概讲了对数几率,从线性回归到 LR,与 sigmoid 的联系)。
SVM:大概讲讲原理(大概讲了最大间隔,合页损失函数,与0-1损失函数,感知机,Adaboost,LR 的联系和区别),SVM是否会求出局部最优解答(我回答的不会),为什么不会(也就是为什么局部最优就是全局最优,我回答的是因为凸二次规划问题,目标函数是凸函数),核函数的思想,怎么求解SVM(SMO,讲了一下大概的思想)。
决策树:CART,ID3,C4.5的区别(分别讲了 ID3 和 C4.5之间的,以及前面两个和 CART 的),信息增益比那种情况比信息增益好。
Xgboost:优点,默认值处理(这里面试官同意我看两分钟原文,结果还是没有回答好)。
介绍项目论文:元学习,图神经网络。
场景A:一个大的数据集A,如何使用元学习和迁移学习(上一段提到了),来帮助学一个数据稀疏B的数据集。(讲了一下元学习设定和迁移学习方法,这里面试官不是很了解元学习,所以有些分歧)。
场景A+:B 数据集不仅样本系数,而且特征稀疏。(我已经忘了场景,以为只在 B 上操作,没有回答得很好),询问面试官,他们解决方法是在 A 上做特征学习。
反问。
7.24二面 2h
自我介绍。
全程问项目论文。
面试官对元学习和图神经网络都有一些了解。元学习面试官熟悉原型网络,我让我结合我的其中一篇论文给他讲了MAML的思想。
元学习和迁移学习的区别和联系。
图神经网络和图嵌入的联系和区别。讲讲GCN,GAT,GraphSAGE等主流的图神经网络。讲讲DeepWalk,Node2Vec,Line。
既然做过图神经网络,那么来写两道相关代码。代码1:图数据的数据结构(邻接表),3个方法(初始化,加边,给定节点返回邻居节点)。代码1+:给定根节点,返回从这个节点出发的随机游走(递归写法出了点问题,面试官指出不注重效率细节,随机游走的结束处理也有问题====没手写过这个啊)。
面试官讲了一下他们部门的业务。
为什么投深圳(不投北京,上海)?
反问。
7.28三面 40min
自我介绍。
论文内容大概介绍,论文主要贡献,是第几作者,论文想法来源,论文中负责哪些工作,还有没有什么可以提高的地方?
熟悉Linux吗?
用过Hadoop之类的吗?
Python的一些基本问题:可变对象,不可变对象,浅拷贝深拷贝。
个人优点。
个人缺点。
对百度的看法。
对BAT以及字节等公司的看法。
讲了一下他们部门的业务。
为什么投深圳(不投北京,上海)?
反问。
8.01测评
总结
总的来说,百度面试体验非常好,都会提前预约时间面试,基本都是问项目论文,以及基本的机器学习知识。一面估计对我的领域不熟悉,因此主要是基础的机器学习知识,以及场景题。二面对我的领域有一定的了解,因此对论文问的很细,二面的代码题也很与众不同,让我有点措手不及(随机游走如何结束,参数设置都没做好,而且也没有考虑效率细节等),最后递归代码还出了点小问题(但是面试官全程耐心,等我调试,还说可以求助他,但是他等我自己想,免得打扰思路)。三面面试官也很好,我反问如果通过面试,到入职之前可以哪些准备(最好实习,已经3个特别诚恳的建议)。
写在最后
从秋招开始也陆陆续续面了一些公司,有的简历挂,有的一面挂,有的在等最后消息,不管怎样,还是有一点自己的想法。(划重点!!!)
## 以下和个人情况相关(没有实习,只有论文,不想转开发,死磕算法)
首先就是算法代码题,现在各个公司都很看重,基本面试都会写,而且一般是面试开始写,如果写不出来,可能会直接导致印象分下降,哪怕后续表现得都很好。
其次就是可以先投一些不是很想去的公司刷刷经验,其实不管大小公司,有的问题都是一定会问的,自我介绍(自己准备一套模板,每次面试前再根据公司和招聘信息微调),如果有论文和项目的肯定会介绍(我的感觉就是,前两次面试介绍的时候都是想到哪儿说到哪儿,逻辑不够清楚,到后面面试面多了,感觉这一部分就可以直接背出来了,逻辑也清晰,重点也鲜明),最后就是如果做论文的话,相关的论文也要有了解(例如我主要研究图神经网络,那么经典的图神经网络原理都要了解,甚至有的公司会问你最新进展以及现在的瓶颈)。
关于除自己领域外基本机器学习和深度学习,基本的都要了解,面试如果问到了,面试官一般是问你对这些了解吗?诚实说出自己情况(假装精通不可取,一问就出来了,切勿不懂装懂!!!),例如我,我就直说入门的时候看过,但是实际中没怎么用过,但是基本的原理知道。这时候面试官基本也懂了,会问你一些基本的问题,然后可能会继续追问。这种情况你只要能回答好第一波问题就OK了。
然后就是一些对下一年的学弟学妹们的建议,真的,能实习最好去实习,百度三面也说实习三个月可以有质的飞跃,而且现在机器学习很多要求Hadoop的知识,分布式的知识,甚至云计算相关的知识,如果在一般的实验室(像我这种,单机单卡做研究的),这一部分会比实习的差很多,更不说实习转正的机会了。
最后祝大家面试顺利,一起加油!欢迎大家来交流~
看完本文,你有什么看法呢,欢迎交流~
下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!
后台回复【五件套】
下载二:南大模式识别PPT
后台回复【南大模式识别】
说个正事哈
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
推荐两个专辑给大家:
专辑 | 李宏毅人类语言处理2020笔记
整理不易,还望给个在看!