百度算法三面面经(已offer)
视频一面1.5h 12.01
自我介绍+项目+实习
- 面试官问的非常细,时间挺长的,自己的论文要读明白,然后项目边边角角都要考虑到..
开始问知识点(数学
- 贝叶斯公式你给我写一下(我写了个公式,然后面试官说你这是条件概率公式..)
- 卡方检验知道吗,你知道里面的P值是什么吗(并没有答上来)
开始问DL+ML
- 我看你对集成学习这边比较熟悉,那你说说随机森林和XGBoost的区别(说了他们属于不同的bagging/boosting大家族,弱学习器之间是否有依赖关系,xgb损失函数的优化,泰勒展开;xgb相对于RF并行上面的优化;)
- 深挖: xgb的并行如何实现的(只说了一个并行的时候可以同时算分裂)
- 深挖:随机森林的随机性体现在哪里(我说列采样,数据随机采样)
- 更深挖: 随机森林一个数据被重复采样的概率是多少?(没答上来)
- 你知道SVM,LR,GBDT她们更有什么优缺点和应用场景吗(我说SVM可能因为超平面的关系更加适用于多分类,然后LR实现简单,应该效率比较高,适用于样本比较好;然后GBDT他是个集成学习,效果应该比前面两个好把,...现场瞎扯,因为从来没有放在一起比过这几个)
- 深挖GBDT: 你说GBDT回归的时候拟合的是具体的数值,那分类的时候怎么实现的呢(分类的时候应该就是拟合概率值把),面试官继续问GBDT用于三分类的时候,怎么实现的,(不会。。)
- 开始问DL, seq2seq跟transformer相比有什么不同吗(seq2seq有长距离依赖问题,那transformer encoder方面引入了self-attention机制,可以更好的关注上下文,seq2seq相当于只能关注前面的信息,而transormer相当于可以关注上下文,相当于双向语言模型;为了解决transformer位置编码的问题,transformer引入了位置编码)
- transformer的注意力机制你知道怎么实现的吗(Q,K,V,Q作用域K,然后sigmoid取均值,输出加权平均和,面试官纠正你刚刚说sigmoid?我说说错了,应该是softmax。。。)
- 你知道Q,K,V有什么意义吗,怎么得到的(分别乘以3个不同的权重矩阵)
- 那Multi-attention怎么得到的?(那就用多个不同的Q,K,V映射矩阵,然后映射到不同的Q,K,V value),面试官多头注意力机制是为了什么(我说是为了从不同的角度关注当前词和上下文的关系,避免信息挖掘的不全,为了更好的关注不同的语义信息)
- 深挖:你刚刚说了除以根号d,你知道为什么要除以根号d吗 (我..可能是为了归一化把????后面想到可能是为了降低数值,面试官后来问有没有把 attention is all you need 捡起来从头到晚读一遍...)
开始手撕代码
- 一开始给了函数头 sqrt,我就直接问是要实现内置函数sqrt吗,我说这个题我不太会,然后面试官给我换了个题
- 手撕一 反转链表(迭代写了,面试官说OK,说换一种方式把,我说那就是递归把,然后写的 递归好像逻辑有点问题,然后面试官说没关系,我们开始下一题)
- 编辑距离了解吗(我说了解,然后开始说word1-word2的最小编辑距离,然后我的网断了,又要进不去网页了,然后面试官说算了,我看时间也差不多了,好像面了一个小时20分钟了当时,然后我赶紧跟面试官说了做题思路:这是个二维DP问题,首先定义DP[i][j]表示长度为iword1转换为长度为j的word2时的最小编辑距离,然后定义状态转移方程,要分两类,相等和不等时,巴拉巴拉......然后面试官问你说的dp[i-1][j]代表的是增还是i删还是替换操作?增,dp[i][j-1]是删操作,然后dp[i-1][j-1]是替换操作....太卑微了)
- 面试官说时间差不多了,你对我有什么问题吗(我说你们部门业务主要是做什么呢?说销售业务,和用户反馈的文本分析之类的,也会有纠错任务,这可能就是捞我的原因把)
- 面试官再见(面了1小时30h把,跟面试官道歉网速不太好,导致面试途中带来了很多问题,面试官人非常nice,非常有耐心,真的nice)
视频二面 40min 12.02
项目 实习
开始问DL基础
- 文本不平衡怎么处理 (说了过采样,欠采样,问还有没有其他的,没答上来)
- 评价指标有哪些(准确度, 精确度,混淆矩阵,AUC曲线, F1-score)
- 继续问有了P,R为什么要有AUC和F1-score(说AUC是真阳性,与假阳性之间的平衡,面积越大越好,然后F1-score,是平衡p和R)
- 过拟合有什么解决方法 (数据增强,然后L1正则化,L2正则化;dropout)
- 顺着L1,L2正则化问,L1,L2正则化有什么作用(在解空间碰撞出稀疏解,可以使一些特征参数为零)
- 业务场景题,现在有个半监督分类问题,你有什么思路吗,意思是只有一部分文本有标注,比如就标了体育,(我说先进行二分类,把体育和非体育分开,然后再把非体育进行聚类,让他们自己去聚类,面试官说你说分类问题其实也可以,但是还是要先去找出一些边界的情况,我没太明白。。。)
手撕代码
面试官说我们做个简单的把, 实现二分查找,我:?
然后写出来了,然后面试官说有什么其他写法吗
然后我就写了个递归的二分
最后
最后问会不会大数据公式,我说mapreduce,spark这些没机会接触到,
然后问数据库熟悉吗,我说本科学过,然后他说复习了吗,我说没怎么复习,全都是复习机器学习去了
然后面试官就说OK了,时间短,让人感觉被刷KPI那种...
电话三面 30min 12.03
感觉应该是经典面,因为提前打电话问了三方以及意向,当时我还以为是HR,结果经理来了一句说我就是三面的面试官,我说哦哦好已经开始三面了吗,然后他说一会儿再约其他时间,先确认意向?然后一个小时以后电话就来了,当时楼主穿着睡衣刚恰完饭.. 我问是不是技术面,他说我不问技术噢
- xgboost和普通决策树有什么区别 (您不是说不是技术面吗,委屈啊。)
- xgboost和随机森林有什么区别
- 概率题: 如果明天下午的概率是80%,然后明天每个小时下雨的概率都是相等的, 求明天0点到8点的不下雨的概率(有一个小时下雨就算下雨)
- 然后一系列生活问题,已经不记得了,生活问题太多了。但是把面试官逗笑了很多次就对了。
后续时间线
- 12.08测评 12.10 意向书,前后两周不到,百度效率真的很高。
#面经##百度##算法工程师##校招#lz实习结束回来发现秋招已经接近尾声,然后继续在算法岗挣扎,最后经历诸神黄昏->灰飞烟灭,能赶在年前拿到一个自己很满意的Offer真的很开心,回馈牛客大佬们的面经(笔芯)。
春招再见呐。