3月面经汇总-字节跳动,美团,腾讯算法岗

作者:The University of Michigan的一位大佬

三月面试了好几轮,写个帖子录一下问过的问题,为接下来的其他公司的面试查漏补缺一下,也给大家一些准备的方向 斜体是我没答出来的 腾讯一面(3月初,不记得几号了)凉

  1. 自我介绍

  2. 问做过的项目,同时在过程中穿*用过的模型的问题,比如 word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高 为什么使用随机森林 决策树的分裂方式是什么,根据什么变量来决定分裂变量

  3. 手撕代码 1)给一个数N,k 每一轮可以进行两种操作的其中一种

  4. 所有的数拆分成两个更小的数

  5. 所有的数-1 已知拆分操作只能进行k次 问 最少需要多少次把所有数都消去

2)给一串数列,这串数列有正有负,但是总和为0。每个数xi代表一个村庄,正的表示村庄想卖出xi份水果,负的表示想买入xi份水果。两相邻村庄间的距离是相同的,单位距离运送一份水果的运费均相同,每份都是k。问,把每个村庄的需求和供给都解决掉需要的最少运送费是多少?

这是第一次面试,凉得很彻底,因为很多算法细节都没有好好复习,而且代码写的也不够整洁快速

字节tiktok海外版(南亚组?)一面(3.9) 一个很年轻的小哥哥,人也很好

  1. word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高

  2. 开放性问题:在视频推荐这个领域能不能用上embedding的思想,如果可以,要怎么构建和训练模型。这个问题我没答上来,然后面试官给了提示,说有用户观看视频的一系列记录和搜索记录blabla,但我还是没想出来。正确的打开方式是用word2vec的方法训练出一套视频的embedding和用户的embedding,详情可以搜索一下youtubeNet这篇论文,https://zhuanlan.zhihu.com/p/97365203知乎上也有解释。看完之后受益匪浅吧

  3. 手撕代码 一个是二分查找,很简单的 一个是给定一个数组,输出所有他的全排列组合,leetcode原题 permutation 然后小哥让我回去安静等消息,一度以为我凉了,过来一周问了hr有二面

字节二三面(3.17) 感觉面试官对于要不要实习生不太在意(捂脸 可能因为不太缺人吧 二面面试官直接问机器学习问题的

  1. 解释一下过拟合和欠拟合,怎么发现过拟合问题,怎么解决过拟合

  2. 你说到正则化问题,正则化有哪几种方式

  3. 正则化这两种方式的区别和公式分别是什么

  4. 你说l1会使得特征系数稀疏化,为什么呢(岭回归和lasso回归的区别)

  5. 你说到lasso回归有特征选择的作用,有哪些特征选择的方式

  6. 有哪些常用的降维方式 手撕代码

  7. 判断链表有没有环;判断链表的环的起点

  8. 给定n个区间[a,b], 找到最小的区间[x,y],使得n个区间都至少包含一个数落在这个[x,y]中(不会啊救命) 然后面试官就让我等答复了(我以为差不多凉了吧,然后三面面试官进入聊天室,我只能继续了23333。其实二面有很多答不上来的问题,所以当时真的内心是拒绝的,心态在崩溃边缘

三面 面试官让你直接开始讲讲你最熟悉或者最拿手的一个项目

  1. 这个面试官挺有批判精神的,他会指出你这个项目中的实验设置的不足,比如你词向量的优劣如果用情感分析的结果来进行评估的话,情感分析这个任务的选择合适吗,为什么?用lstm模型来评估两个词向量的优劣时,调参怎么调才合理?

  2. 词向量的训练原理和参数更新的细节

  3. 词向量怎么用到神经网络里面 手撕代码:

  4. 两个有序数组的中位数(不要用O(N)的暴力算法,要用二分的思想)

  5. 找出一个正整数数组中,没出现过的最小的正整数(不能先排序,要用比排序时间复杂度更优的方法) 两题都没撕出来,还是太菜了 自此字节凉了

美团(一、二面)等结果中 美团的笔试还是做的挺差的,五题只做了两题,两题都只有27%。。一面:word2vec 训练过程训练原理 训练的损失函数

我看到你做多分类情感分析多分类问题的损失函数是什么 Soft max的计算公式是什么?为什么使用指数函数?

LSTM的信息传递机制是什么?他和RNN相比有什么优势。

Bert 他和普通的Word2Vec模型相比优势在哪里 他为什么会有这样的优势(优势,指的是他能生成语境化的向量

Bert中的 transformer attention multihead attention 注意力机制的运行过程是什么样的?注意力机制中对于每一个词的分数会进行标准化,请问这一步的目的是什么

你刚刚提到batch normalization BN的作用是什么?它有四个公式,每一个公式分别是什么,有什么各自的作用 我对于每一个Batch 都计算出来了他对应的均值跟方差这些,它们相互独立的吗?还是会相互影响。

我看你大多数是自然语言处理的事件,你有做过计算机视觉相关的任务吗?回答:有机器学习课上尝试手写卷积神经网络的代码 卷积神经网络的权重是怎么更新的,平均池化和最大持化的反向传播是怎么运作的?没有手撕代码,但是让我直接实现kmeans的伪代码,不用编译 总结来说,美团一面问的都很基础的深度学习问题,都答出来了,因为准备过,所以说的时候比较有自信,然后挺流畅的。面试官就说觉得我基础知识挺扎实的挺好的(这个小哥人很nice,也是第一个这么夸我的面试官,挺受鼓舞的,很谢谢他

二面:大部分问题和一面的很接近,但是面试官好像是一面面试官的老大,会从更多维度来问你

  1. word2vec训练过程的最后一步有什么办法可以优化softmax的计算,我没答上来,他就告诉我说是指数函数的计算会用查表来近似代替

  2. 你大部分用的神经网络都是比较浅层的,有没有试过更深的神经网络

  3. 有做过图像方面的深度学习项目吗

  4. 有没有在实践中应用过transformer 最后面试官的评价是基础知识比较好,但是实践经历和业界场景有差距emmm,然后面试才刚刚开始,没这么快能给你答复(好的我知道我是备胎了55555 美团是我很想去的公司,我面试的部门是做美团外卖的推荐广告业务的,在他们场景中会用到很多的深度学习的模型(图像+nlp)来提取特征和做推荐预估, 而且关注了美团的技术博客,他们做的很多东西我都觉得和自己做过的项目很match。希望能有offer

字节企业应用(EA)团队一面:这个部门做的业务感觉是开发内部应用来支持公司内部其他团队的,我记得面试官说的一个是给法务部的做一些文本的提取、分类应用?问的问题不是很难,和美团的那几个问题很类似,都是围绕 word2vec的训练原理,bert的原理和word2vec的区别,xgb和gbdt的区别之类的,比较基础 给了两道概率题给思路:

  1. 1-7的随机数等概率生成器,怎么等概率的生成1-5的整数

  2. 掷色子掷出六个不同的面的次数的期望 然后手撕代码:leetcode的hard:最大矩形问题, 面试官很仁慈没有让我用优化的dp或者其他方法做,直接让我写暴力解法的代码,他大概看了一下就说就这样吧 然后第二天hr就给我打电话约下一轮面试了 二面之后回来更新。

你可能感兴趣的:(3月面经汇总-字节跳动,美团,腾讯算法岗)