算法岗面试整理 | 腾讯、字节、美团、阿里
共 4290字,需浏览 9分钟
·
2020-08-15 03:25
(给机器学习算法与Python实战加星标,提升AI技能)
文末赠书福利
写在前面
三月面试了好几轮,写个帖子记录一下问过的问题,为接下来的其他公司的面试查漏补缺一下,也给大家一些准备的方向。
腾讯
一面(凉)
自我介绍 问做过的项目,同时在过程中穿插用过的模型的问题,比如 word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高 为什么使用随机森林 决策树的分裂方式是什么,根据什么变量来决定分裂变量 手撕代码 给一个数N,k,每一轮可以进行两种操作的其中一种:①所有的数拆分成两个更小的数;②所有的数-1。已知拆分操作只能进行k次,问 最少需要多少次把所有数都消去 给一串数列,这串数列有正有负,但是总和为0。每个数xi代表一个村庄,正的表示村庄想卖出xi份水果,负的表示想买入xi份水果。两相邻村庄间的距离是相同的,单位距离运送一份水果的运费均相同,每份都是k。问,把每个村庄的需求和供给都解决掉需要的最少运送费是多少?
这是第一次面试,凉得很彻底,因为很多算法细节都没有好好复习,而且代码写的也不够整洁快速
字节tiktok海外版(南亚组?)
一面
一个很年轻的小哥哥,人也很好
word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高 开放性问题:在视频推荐这个领域能不能用上embedding的思想,如果可以,要怎么构建和训练模型。 这个问题我没答上来,然后面试官给了提示,说有用户观看视频的一系列记录和搜索记录blabla,但我还是没想出来。正确的打开方式是用word2vec的方法训练出一套视频的embedding和用户的embedding,详情可以搜索一下youtubeNet这篇论文,https://zhuanlan.zhihu.com/p/97365203知乎上也有解释。看完之后受益匪浅吧 手撕代码 一个是二分查找,很简单的 一个是给定一个数组,输出所有他的全排列组合,leetcode原题 permutation
然后小哥让我回去安静等消息,一度以为我凉了,过来一周问了hr有二面
字节二面
感觉面试官对于要不要实习生不太在意(捂脸 可能因为不太缺人吧 二面面试官直接问机器学习问题的
解释一下过拟合和欠拟合,怎么发现过拟合问题,怎么解决过拟合 你说到正则化问题,正则化有哪几种方式 正则化这两种方式的区别和公式分别是什么 你说l1会使得特征系数稀疏化,为什么呢(岭回归和lasso回归的区别) 你说到lasso回归有特征选择的作用,有哪些特征选择的方式 有哪些常用的降维方式 手撕代码 判断链表有没有环;判断链表的环的起点 给定n个区间[a,b], 找到最小的区间[x,y],使得n个区间都至少包含一个数落在这个[x,y]中(不会啊救命)
然后面试官就让我等答复了(我以为差不多凉了吧,然后三面面试官进入聊天室,我只能继续了23333。其实二面有很多答不上来的问题,所以当时真的内心是拒绝的,心态在崩溃边缘
字节三面
三面面试官让你直接开始讲讲你最熟悉或者最拿手的一个项目
这个面试官挺有批判精神的,他会指出你这个项目中的实验设置的不足,比如你词向量的优劣如果用情感分析的结果来进行评估的话,情感分析这个任务的选择合适吗,为什么?用lstm模型来评估两个词向量的优劣时,调参怎么调才合理? 词向量的训练原理和参数更新的细节 词向量怎么用到神经网络里面 手撕代码: 两个有序数组的中位数(不要用O(N)的暴力算法,要用二分的思想) 找出一个正整数数组中,没出现过的最小的正整数(不能先排序,要用比排序时间复杂度更优的方法)
两题都没撕出来,还是太菜了 自此字节抖音凉了
美团
美团的笔试还是做的挺差的,五题只做了两题,两题都只有27%。。
一面
word2vec 训练过程训练原理 训练的损失函数 我看到你做多分类情感分析多分类问题的损失函数是什么 Soft max的计算公式是什么?为什么使用指数函数? LSTM的信息传递机制是什么?他和RNN相比有什么优势。 Bert 他和普通的Word2Vec模型相比优势在哪里 他为什么会有这样的优势(优势,指的是他能生成语境化的向量 Bert中的 transformer attention multihead attention 注意力机制的运行过程是什么样的? 注意力机制中对于每一个词的分数会进行标准化,请问这一步的目的是什么 你刚刚提到batch normalization BN的作用是什么?它有四个公式,每一个公式分别是什么,有什么各自的作用 我对于每一个Batch 都计算出来了他对应的均值跟方差这些,它们相互独立的吗?还是会相互影响。 我看你大多数是自然语言处理的事件,你有做过计算机视觉相关的任务吗?回答:有机器学习课上尝试手写卷积神经网络的代码 卷积神经网络的权重是怎么更新的,平均池化和最大持化的反向传播是怎么运作的? 没有手撕代码,但是让我直接实现kmeans的伪代码,不用编译
总结来说,美团一面问的都很基础的深度学习问题,都答出来了,因为准备过,所以说的时候比较有自信,然后挺流畅的。面试官就说觉得我基础知识挺扎实的挺好的(这个小哥人很nice,也是第一个这么夸我的面试官,挺受鼓舞的,很谢谢他
二面
大部分问题和一面的很接近,但是面试官好像是一面面试官的老大,会从更多维度来问你
word2vec训练过程的最后一步有什么办法可以优化softmax的计算,我没答上来,他就告诉我说是指数函数的计算会用查表来近似代替 你大部分用的神经网络都是比较浅层的,有没有试过更深的神经网络 有做过图像方面的深度学习项目吗 有没有在实践中应用过transformer
最后面试官的评价是基础知识比较好,但是实践经历和业界场景有差距emmm,然后面试才刚刚开始,没这么快能给你答复(好的我知道我是备胎了55555 美团是我很想去的公司,我面试的部门是做美团外卖的推荐广告业务的,在他们场景中会用到很多的深度学习的模型(图像+nlp)来提取特征和做推荐预估, 而且关注了美团的技术博客,他们做的很多东西我都觉得和自己做过的项目很match。
字节企业应用(EA)团队
一面:
这个部门做的业务感觉是开发内部应用来支持公司内部其他团队的,我记得面试官说的一个是给法务部的做一些文本的提取、分类应用?
问的问题不是很难,和美团的那几个问题很类似,都是围绕word2vec的训练原理,bert的原理和word2vec的区别,xgb和gbdt的区别之类的,比较基础
给了两道概率题给思路:
1-7的随机数等概率生成器,怎么等概率的生成1-5的整数 掷色子掷出六个不同的面的次数的期望 手撕代码:-leetcode的hard:最大矩形问题,面试官很仁慈没有让我用优化的dp或者其他方法做,直接让我写暴力解法的代码,他大概看了一下就说就这样吧
然后第二天hr就给我打电话约下一轮面试了
二面
面试官很随和,上来就问了一些general的问题,一个是可以实习的时长,一个是以后的职业规划是什么。 然后问简历里面你最拿手/熟悉的项目是哪一个,问了一下那个项目现在如果要发论文的方向,我说这个是一个应用型的项目,没有发论文的打算。 问了一下我c++的一个实现配对堆的算法。。。我竟然给忘了。 问了一个算法题,leetcode编辑距离,很快就写出来了。共享屏幕在自己的ide上实现的。问了算法的复杂度,再问能不能优化时间或者空间复杂度,我说可以,可以改成一维数组。 然后问了一道数学题,十个红球十个白球,无放回抽出10个然后红球互不相邻的可能性。没想好,不过具体思想就是一红一白相间地摆好先,然后再在白球红球之间插入白球,面试官说时间关系就先这样了,但是很接近了。 最后面试官评价说我应该平时刷题刷很多吧(拼命点头
过了一天半收到了三面通知,是hr面啦
hr面
hr很和善,先问我为什么能五月开始实习,不用上学吗,我说我(美硕)四月底就放假了,所以有四个多月能回国实习。 然后问我投日常实习动机是啥,我说争取转正offer和积累经验。 然后问为啥选头条捏,我说了一堆很土的理由,什么梦寐以求的公司啦,面试官面试表现很专业,岗位很匹配,大公司能有更好的成长啦blablabla 然后就问我有什么要问的 问了这岗位能不能转正,她说转正概率和校招实习是一样的,会公平对待所有实习生,主要看你实习的产出能不能做出贡献。而且转正也还需要三轮技术面+一轮hr面 问了EA部门未来的发展方向,好像2b业务现在是国内互联网市场上比较大的一块地盘,是字节未来想要攻坚的方向blablabla 最后问了后续流程,周一给答复
阿里蚂蚁
一面
面我的是多方安全团队,问了很久他们做的东西,具体还是不太懂,大概意思就是法规限制了我们获取的数据规模和维度,要用有限的数据进行风险评估(比如银行贷款啊之类的)
问了我们硕士是授课型还是论文型,问了我们现在专业学习的东西和机器学习相关的部分有哪些, 然后问了我做词向量的项目,问优化方向之类的,有没有根据文本特征做定制化的算法调整 然后问了xgboost和randomforest的区别。什么场景表现会更好之类的。 然后问了一道逻辑题:两个人抽100个球,你是先手,每次两个人只能取1-6个球,问怎么抽才能使得你是最后一个把球抽完的 问了一道挺基础的算法:找出有序数组中位数,想优化时间复杂度。 感觉不是很匹配,面试官的意思是想要的是那种潜力型,会融合很多算法,开发新算法的人才,我太菜了
福利时间:
爱学习的土豪可以直接买↑↑↑
本次联合【电子工业出版社】为大家带来前阿里高级开发工程师创作的《机器学习算法框架实战:Java和Python实现》,一共2本。
赠书方式一:后台回复【888】,抽奖1本
赠书方式二:添加我的微信,朋友圈抽奖1本
推荐阅读
(点击标题可跳转阅读)
老铁,三连支持一下,好吗?↓↓↓