Interview record of ML intern in 2019

  1. Overview
  2. 作业帮
  3. 链家
  4. 字节跳动
  5. 腾讯
  6. 滴滴
  7. 360
  8. 助理来也
  9. 新浪
  10. Blued
  11. 阿里巴巴
  12. 腾讯-PCG

Overview

1.面试是一次梳理知识体系的机会
2.面试是一次提升表达能力,锻炼推销自己的能力的机会
3.面试是了解工业界, 了解市场需求的绝好机会,面试官至少是一线工程师,大多数还是带团队 TL,能感知他们更 care 什么,将市场需求和自身能力对齐

作业帮

  • 持续时间:一面40min
  • 问题总结

    1. 讲一下京东比赛的项目。你的模型为什么用了xgb?不用别的模型?
    2. [手写代码] 二叉树层序遍历
    3. [手写代码] 1到M+1这么多个数, 中间缺了一个数,如何最快的找到缺少的数字.
    4. [手写代码] 一副扑克,包含大小王,随机抽五张,返回这五张是否是依次连续的,大小王可以替代任意一张扑克.
    5. [手写代码] 给一个非常大的文件, 内存放不下,用你熟悉的语言读取它的最后10行内容。
    6. xgb的特征重要性怎么给出的?
  • 经验总结

    1. 写代码不要着急下手,一定要思考几秒钟(不管是很简单还是难) 如果感觉太简单还是要想想坑(注意的点)在哪?需要考虑的特殊情况是啥, 多嘴先问一句要输出什么还是只返回一个数组?
    2. 面试官说话声音太小,多确认几次要做什么?
    3. 写代码字体不要写的太大, 太大很容易乱, 给人一种思路不清楚的感觉。

链家

  • 岗位:算法实习生(策略方向)
  • 持续时间:总共3面+hr面, 持续到下午2:10面完,中间有15min吃完饭。
  • 问题总结

    1. 决策树分裂规则有哪些?相比信息增益,信息增益比的优势在哪里?
    2. learning-to-rank了解吗?
    3. [手写代码] 输出一个十进制数的二进制表达1的个数?如果是负数怎么办?如果是浮点数怎么办?
    4. 二分查找找不到了怎么返回?
    5. [手写代码] 现在有一个字符串数组,每个字符串由[a-j]组成, 分别代表[0-9]这10个数字,返回一个0-9的映射使得这几个字符串代表的数字之和最大。
    6. linux微内核了解吗?
    7. svm的原理?写出支持向量到分离超平面之间的距离公式。核函数是什么?有哪些?你用过哪些?
    8. [手写代码] 一个数组中第k大的数字,你能想到最好的时间复杂度是多少?
    9. gbdt的原理?
    10. c++中指针和引用有什么区别?
    11. 操作系统内存管理的方式?
    12. pca的数学原理
    13. SQL中where和having语句的区别?
    14. SQL有哪几种连接的方式?给了一个例子,让写出来left join的结果
    15. 讲蚂蚁金服定位比赛?多分类和二分类的方案如何抉择?各有哪些优势?
    16. 机器学习无所不能?机器学习是吹出来的?
    17. xgb一般调哪几个参数?怎么调?
  • 经验总结

    1. 面试官说数据分析和挖掘里面最重要的是理解特征和思考背后的含义。其次才是数据质量和数据清洗、再是模型和调参。机器学习在合适的场景才能发挥自身的作用。这句话可以和下一个面试官聊。
    2. 实习时间必须说[6个月以上]。能全职实习。对大公司平台没要求。对你们公司的业务特别特别有兴趣。
    3. 遇到不太清楚的,满脸微笑的先问问面试官能不能提示一下?^_^
    4. 讲项目嘴巴快一点效果更好,前因后果往下滔滔不绝坐等面试官打断。打断以后回答问题时刻意放慢节奏,慢慢说为什么这么做或者XX原理是什么。
    5. 链家面试官比较温和,面试官风格各异,前两面的比较谦和不停引导一个问题逐渐深入。第三免面试官语速很快思维特别清晰。跟着面试官思路比较重要。
    6. hr面也不要大意, 也得小心回答。技术面试表现好也不见的是好事, 她会怕你不来。hr如果问题你还有什么问题?问薪资加班意义不大。
  • 目前比较合适的回答

    • 咱们公司对于实习生实习计划是怎样的?
    • 咱们公司对于转正是如何考评的?实习生是否由优先转正的机会。
    • 咱们公司是否会有定期的专家讲座或者培训提升自己的能力。

字节跳动

  • 岗位:算法实习生 (商业化 DATA)
  • 持续时间:总共3技术面, 持续到下午1:36面完,中间有15min吃完饭; 第2天hr电话面
  • 问题总结

    1. [手写代码] 任意一种排序(本能写了快排,面试官说大家写的基本都是冒泡)
    2. [手写代码] 实现LRUcache, 实现LFUcache
    3. xgb为什么叫xgb?xgb的原理?
    4. 介绍一下lr,lr为何用sigmoid?sigmoid改一下加一个系数或者加一个缩放行不行?为什么行?行为什么没有原始sigmoid好?
    5. c++ splice()函数的原理
    6. tfidf了解过吗?idf为什么用log?
    7. word2vec了解过吗?原理是什么?训练为什么快?
    8. SVM如何实现非线性的?核函数有哪些?核函数有什么问题?高斯核函数有什么问题?
    9. [手写代码] 快排如何优化?如果存在大量重复元素,快排如何优化?
    10. xgb和gbdt的区别?xgb如何分裂?
    11. 各种激活函数的比较,一般用哪个?relu优势在哪
    12. stacking的原理?
    13. 你比赛和第一名的差距在哪里?
    14. 你比赛里面突出的工作?
    15. AC自动机原理?时间复杂度?
    16. 依存句法分析?
  • hr面

    1. 看到你的简历是保研?学习秘诀是什么?
    2. 你本科做过比较厉害的事情/令你兴奋的事情是什么?
    3. 估计目前头条广告一天的收入。我估计1亿,hr说差不多,是1.2亿。
  • 经验总结

    1. 核函数了解不够深入
    2. word2vec关于层次softmax需要再回顾下
    3. 快排优化考虑不够全面
    4. 面试官:以spice为例,了解原理才能进行优化
    5. 整体原理答的还可以,但有以上硬伤(虽然项目里面没有写svm和word2vec)

腾讯

  • 岗位:算法实习生(WXG事业群 微信看一看)
  • 持续时间:总共3技术面,面试官迟到20min分钟,12点多一面结束,下午2:30开始, 持续到下午3:10面完,
  • 问题总结

    1. [手写代码] 最长上升子序列
    2. [手写代码] 链表排序(面试官想听到链表快排, 我说的插入排序,其实归并写起来最简单)
    3. [手写代码] 二叉树中序非递归
    4. xgb并行化是指什么?怎么实现的?
    5. gbdt推导一下?从损失函数到优化变量
    6. 卡方是如何定义的?
    7. 比赛和前几名差距在哪?
    8. lr和gbdt谁更容易过拟合?
    9. FFM了解吗?PNN了解吗?
    10. 聊一下地磁定位项目?(我没写这个项目但面试官问了实验室研究方向) 和wifi定位的关系?如何融合?如何实现地磁指纹库检索?
    11. 各种介绍项目。(极少反馈做的好还是不好)
  • 经验总结

    1. 腾讯面试官感觉没有明显的好坏反馈。各种嗯嗯嗯。可能是项目不够亮眼。
    2. gbdt从损失函数推导答的还可以更熟练一些。

滴滴

  • 岗位:算法实习生 (地图算法)
  • 持续时间:总共2面技术面
  • 问题总结

    1. [手写代码] 生成全排列,我写了一个动态插入的方法,面试官一直想听递归方法,一直说我还是没讲清楚。
    2. [手写代码] 如何计算一个大的指数,其实可能是考快速指数幂,我写了一个前n项的泰勒展开,也算写对了。
    3. lgb直方图是什么?
    4. bagging和boosting区别?我感觉说的很清楚,但面试官一直感觉不满意
    5. kdtree是怎么生成的?
    6. 条件随机场了解吗?
    7. 优化算法了解吗?拟牛顿牛顿区别?adam?rmsprop?momentum?
    8. DeepFM? Deep & wide?看过哪些数据挖掘书?论文?
    9. GBDT+LR有用吗?叶子节点编号有用吗?cvr弱特征要one-hot编码吗?
    10. 比赛名次为何这么低?这几个特征提升了多少?
    11. FFM?FM?了解吗?
  • 经验总结

    1. 从一开始到最后,一直对比赛名次一顿怼,各种抓着某个弱一点的特征说没用,我讲算法思路面试官一直说我没说清楚。
    2. 回答各种都不太满意,数学原理感觉都不了解?前沿论文没看看?
    3. 两个面试官声音一直很低,交流我都凑着耳朵反复问。
    4. 然而很痛快的给了offer。
    5. (很久以后的一个总结)虽然当时面试官对我一顿怼,面试体验很不好,但是这次面试可能对我提出建议最中肯最有用的一次面试,引导我多看weinan zhang的研究还有最新的一些研究进展,长远来看对我影响很深远。而且一面面试官follow我之前leader的博客这个让我很惊讶,应该是很深入的在做一些机器学习的应用。

360

  • 岗位:算法实习生 (点睛 广告部门)
  • 持续时间:3面技术面+第一个技术面面试官意向面
  • 问题总结

    1. [手写代码] 堆排序
    2. [手写代码] 快排
    3. [手写代码] 编辑距离
    4. 比较svm和lr,两个的损失函数?为啥是hinge loss
    5. [手写代码] 链表倒数k个节点 时间O(n) 空间O(1)
    6. svm防止过拟合方法?
    7. one-hot维度太长如何维度截断?
    8. ac自动机?正则表达式是通过什么实现的?
    9. 有10W个数据,数据服从一定分布,如何采样100个(要求无偏采样)
    10. [手写代码] 给定一个数组,刚开始位于0,数组下标志为i代表在最多可以跳nums[i]步, 问能否到终点?到终点最少需要几步?
    11. c++ 内存模型了解吗?
    12. PCA数学原理?
  • 经验总结

    1. 整体比较常规,一面面试官语速很快。二面面试官问的都不是机器学习相关。
    2. 面试官说 搜索和广告路宽,推荐路子很窄

助理来也

  • 岗位:NLP算法实习生
  • 持续时间: 2面技术面,6:10左右结束
  • 问题总结

    1. lr原理?lr要不要归一化?不归一化得到的w有没有意义?什么模型需要归一化?
    2. [手写代码] 现在有一堆ip地址,对应一些城市,ip地址都有对应范围,但是中间都有缺失,如何最快的查询某个ip地址对应城市
    3. lr和svm区别
    4. 对话机器人中意图识别的意图是怎么定义的?意图和slot的关系是什么?slot是无限生成的?有没有优化slot的方法?知识图谱能帮助扩展slot吗?
    5. 项目数据量?衡量指标?
  • 经验总结

    1. 聊的最开心的一次,面试官很有诚意, 后期基本上就是憧憬对话机器人的未来.

新浪

  • 岗位:数据挖掘实习生
  • 持续时间:1面技术面 持续1h左右
  • 问题总结

    1. hadoop了解吗?mapreduce?
    2. 什么场景适合lr?lr原理?
    3. 后面基本上在介绍项目,没有明显的原理提问
  • 经验总结

    1. 感觉面试官技术不是很强,没提出比较专业的问题, 不太像是做机器学习或者数据挖掘的。对方的业务做的貌似也只是在公司内。

Blued

  • 岗位:算法实习生 (推荐算法)
  • 持续时间:1面技术面 1面hr 持续1h左右
  • 问题总结

    1. 介绍一下lr
    2. ctr预估和cvr有什么区别
    3. ctr预估常见做法
    4. 京东比赛用了哪些特征?为什么要用这些特征?
    5. 数据清洗怎么进行
  • 经验总结

    1. 面试官北邮phd,但问的问题比较表面,没有技术上的引导,hr诚意很足
    2. 待遇很有诚意。

阿里巴巴

  • 岗位:算法实习生(阿里妈妈)
  • 持续时间:
    1面电话面 持续1h7min加上写二分查找
    2面现场面持续到11:18
    3面现场面11:40左右开始, 1:10左右面试完
    4面电话面 持续38min26s
    5面电话面 持续1h47s
    hr电话面持续 持续36min17s
  • 1面问题总结

    1. C++面向对象机制
    2. C++和Java的区别
    3. Python迭代器?
    4. Python xrange和range有什么区别
    5. Python tuple和list有什么区别
    6. python为什么不推荐for循环
    7. 无序数组中的中位数?最优复杂度?我说了大顶+小顶,面试官还要继续优化
    8. l1和l2norm区别
    9. GDBT原理? xgb原理?
    10. 京东比赛转化率有没有平滑?要不要平滑?
    11. 京东比赛为什么要user模型,只是用user-item模型不行吗?这样会损失很多信息不是吗?
    12. xgb如何对离散特征处理?如何对连续特征处理?
    13. lr损失函数?能不能是均方误差?
    14. [手写代码] 直接打开链接,写二分查找
    15. 快排时间复杂度,堆排序时间复杂度,所以快排和堆排哪个好?
  • 1面经验总结

    1. 面试官电话面试中对项目问的特别深入。一直在纠结京东项目里面的ui模型和user模型的细节。反复问为什么一定要有个user模型。
    2. 手写二分的时候,一紧张忘了判断数组为空了。后面加上了。
    3. 对编程语言实现原理不够熟悉。尤其是三个一起问。
  • 2-3面问题总结

    1. lstm了解吗?lstm门控了解吗?每个门干什么的?
    2. lr为什么要对连续特征离散化并进行交叉?回答了一些。但是面试官希望听到:引入非线性。
    3. 模型融合常见的方法有哪些?你用过哪些?提升了多少?
    4. 开放问题。做一个商品对商品的推荐,不能基于任何历史记录,现在淘宝商品数据量超大,请问怎么做?
    5. 开放问题。我现在有个新的模块上线,要求做商品推荐,也是不能任何历史记录,怎么做?我问是处理冷启动问题吗?她说不是。感觉没太理解这种场景是什么。。
    6. 模型融合方法,有没有参数化的模型融合?(说我说的都是非参数化的)后来我说了GBDT+LR这种,面试官嗯了一下不确定对不对。
    7. 近期机器学习论文了解过吗?
    8. lr归一化怎么做?
    9. 蚂蚁项目为什么要二分类?
    10. 本科做过学生干部或者社团干部吗?主要的收获是啥?
    11. 喜欢什么运动?我回答足球?他说只有足球?我说羽毛球每周一次然后又选修学了网球。
    12. 给定一个4G内存的笔记本,2T硬盘,求一个淘宝Topk词问题
    13. 上一个面试表现如何?
    14. 深度学习和机器学习比较?深度学习从本质上和传统的机器学习有什么区别?
    15. 算法工程师的工作方式的改变你怎么看?传统算法需要提取特征,现在似乎偏向于调整模型结构?如何看待?
    16. 神经网络如何防止过拟合?深度神经网络如何防止过拟合?
    17. CNN的结构?pooling层作用?不用这个能行吗?
    18. 拿了几个offer?
    19. 腾讯微信和阿里妈妈怎么选?
    20. 城市怎么选?
    21. 对薪资待遇怎么看?
    22. 简历里面为何不写你发表的论文?
  • 2-3面经验总结

    1. 二面完全没问算法,但是广度和深度都有,开放性问题没思路。
    2. 三面考察特别全面,从海量数据处理 -> 深度学习的理解 -> 工作性质的理解 -> 做人的思考和收获 -> 生活爱好。
    3. 总体来讲阿里的面试官感觉水平较高,对人的考察全面。
    4. 阿里办公环境整洁。可能是最整洁的面试环境。
    5. 在阿里吃外卖似乎很多,临走之前一堆送外卖的在楼下。
    6. 阿里妈妈似乎很看中写论文经验。
  • 4面问题总结

    1. lr和ffm的比较? fm的优势在那?lr相对于ffm的特点在哪?
    2. 链表排序的思路?
    3. 快排相对于归并排序的优点?
    4. 优化算法了解吗?牛顿法和梯度下降的区别?牛顿法的缺点?针对这个缺点有什么改进?
    5. lr的优点是什么?为什么能处理海量稀疏特征?
    6. 蚂蚁金服项目中多分类和二分类的比较,二分类为什么优于多分类?
    7. 实验室做过什么项目?聊一下实验室项目?
    8. 为什么要做广告相关算法?
  • 4面经验总结

    1. 问题比较常规,对项目的细节反复询问为什么这么做。模型原理回答的还算流畅,快排相对于归并的优点需要深入看一下。
  • 5面问题总结

    1. 讲一下蚂蚁项目
    2. 使用KNN模型,如何评价特征的重要性排序?
    3. xgb和lgb的区别?
    4. xgb的损失函数?
    5. 实验室做过什么项目?
    6. 实验室写过哪些论文?发表在哪?创新点?实验做了哪些?
    7. 比赛为什么用集成树模型不用SVM?
  • 5面经验总结

    1. 问题依然常规。面试官一直在听,好像一直在思考。中间插话不太多。面试官感觉很好说话。

hr面

  • 问题总结

    1. 自我介绍一下?实验室的研究方向是什么?和机器学习有什么关系?
    2. 个人职业规划?
    3. 对城市有没有选择?有没有逃离北上广的想法?
    4. 为什么想做广告业务?
    5. 拿到了哪里的offer?
    6. 个人爱好?你是看球还是踢球?最喜欢哪个球队?为什么喜好这个球队?踢球踢的什么位置?踢这个位置你的优势是什么?(解释了很长时间)
    7. 前几面发挥的怎么样?哪个面试官没发挥好?
    8. 你的优点?你的缺点?缺点如何改进?
    9. 你来了这边想做哪块工作?
  • hr面经验总结

    1. 问题开放性强,看中综合素质。

腾讯-PCG

  • 岗位:算法实习生(天天快报)
  • 持续时间:1面现场面 持续1h; 2面现场面找面试间用了很长时间才开始正式面试,到4:50结束
  • 1面问题总结

    1. [手写代码] 翻转链表
    2. [手写代码] 逆序对,不让用暴力, 时间复杂度?
    3. [手写代码] 矩阵从左上到右下最小路径和, 一个是只能往右往下,一个是四个方向都可以。
    4. [手写代码] 二维矩阵中查找,行和列都是天然有序, 时间复杂度?
    5. lr的损失函数?损失函数怎么来的?怎么求解lr?推导怎么用梯度下降求解lr?
    6. 贝叶斯平滑是什么?怎么做?
    7. 写一下贝叶斯公式?
    8. 项目中bagging提升了多少?stacking提升了多少?
    9. GDBT是什么?GBDT损失函数是什么?
    10. 如何评价数据平滑的效果
  • 1面经验总结

    1. 面试官说把广告都作成美女的图片ctr就上去了,但是没有意义。
    2. 面试官对我写的翻转链表很疑惑(我的代码异常清晰正确的情况下)反复纠结递归写法中的head->next->next = head;这句代码
    3. 感觉面试官没有对算法的热情,做算法都是为了产品,实习都要为产品打杂。如果作算法不是为了产品还不如去研究院。
    4. 银科大厦腾讯工位不错的类似计算所,但是电梯是没有用, 都在爬楼梯。
  • 2面问题总结

    1. [手写代码] 估计pi的值,提示用生成随机数的方式
    2. [手写代码] 翻转链表
    3. 介绍对话机器人项目?带来了什么效果?
    4. 介绍蚂金服项目?
  • 2面经验总结

    1. 面试官没有提出来常规机器学习问题,讲项目过程中也没什么反馈和知识点提问。
    2. 最后问面试官我去了做什么?他说做模型。我问做什么模型?推荐?用户兴趣预测?他说推荐。我问上次不是说ctr吗?他又改口ctr。
      . 领航的工位感觉十分拥挤。比银科差了不少。

转载请注明来源, from goldandrabbit.github.io

💰

×

Help us with donation