lucifer

  • 作者:宝石
  • 校对&整理:lucifer

vivo(已拿 offer)

技术面(30min)

  • 自我介绍
  • 讲实习
  • 讲比赛
  • 问了些大数据的问题
  • spark transform 和 action 的区别
  • 手撕了个归并排序

hr 面(30min,技术只有一面)

  • 自我介绍
  • 家庭情况
  • 讲一下实习亮点
  • 有女朋友么
  • 父母同意你去深圳么
  • 讲一下优缺点
  • 常规问题等等

昆仑万维(已拿 offer)

一面(1h):

  • 上来自我介绍
  • 讲一下判断回文链表的思路,多方法
  • 用纸写一下反转链表
  • 说说 python shuffle 怎么实现的,O(N)时间,O(1)空间
  • 看你计算机专业,知道哈夫曼树吧,w2v 有用,你能说说么(我就记得分层 softmax 了,实在是不会)
  • 说说传统机器学习你都了解哪些?推一下 LR,说一下原理
  • 知道 kmeans 吧,说下迭代过程,簇心随机不好,怎么才能更稳定(类 kmeans++)
  • 说说深度学习你都知道哪些模型?我说了 LSTM RNN,还没等说推荐的模型。。。
  • 讲一下 LSTM 吧,门都是怎么迭代的
  • 各个激活函数的优缺点,sigmoid relu leaklyrelu tanh,又说了下梯度消失
  • Sigmoid 求导是什么?
  • 了解推荐么,说说都知道啥,嘴贱说了个 CF
  • 讲一下 Item-CF,怎么计算相似度(用交并,也就是 Jaccard 距离,速度比 cos 快),用什么优化呢(倒排索引)
  • 讲讲数据倾斜怎么处理吧?(用 key+随机前后缀)
  • 聊一下你这个项目里 LDA 吧?我直接说这个我用过没细研究(他也认同,说数学原理很复杂)
  • 聊一下你这个项目 query title 统计特征都提了啥,跟他聊了一下,他和我说了一下他的业务理解
  • 反问
  • 做什么的(啥都做,业务很广。。。)
  • 用哪些技术(啥都用,技术栈很广。。。)

昆仑万维二面(就是确认时间 不算面试)

  • 和一面面试官聊的如何
  • 知道他们部门做什么的么
  • 接下来约一下 boss 面,确认时间
  • 结束

昆仑万维三面(不到二十分钟,压力面):

  • 上来就问比赛,两个比赛都问了,和第一差距在哪
  • 下面问题都是快问快答,都没深问,问题可能记不全了:
  • 说下你实习吧,没说几句。。
  • 你怎么解决样本不均衡的
  • kmeans 适用于什么情况
  • python dict 怎么用
  • 为什么会产生哈希冲突
  • python set dict list 啥场景用
  • 过拟合有哪些解决方法
  • 牛顿法和拟牛顿法
  • 200w 不重复单词一口气放内存中,怎么放最省内存(不会)
  • 你除了学习之外还做什么项目
  • 平常刷算法题么,刷多少了
  • 另一个面试官的问题不是压力测试
  • 你希望做什么种类的工作(大概就是这个意思)
  • 没得反问

京东

一面(40min)

很好的年轻女面试官

  • 自我介绍
  • 跟我聊了一下,然后说看你挺直率,我就直接说了,你想找推荐,我们是机器学习+组合优化,偏向运筹学,考虑么,(我说只要不是 cvnlp,我全要)
  • 考虑那就开始问些问题吧:
  • 你讲讲你的实习,最亮点,给他分析了一波我采样策略。
  • 你知道 gbdt 和 xgboost 吧,给我讲讲(疯狂吹逼 xgboost)
  • 你知道最大似然估计和最大后验概率估计么,或者挑一个你熟悉的说下(闭着眼睛推 LR,啥伯努利分布,似然函数,疯狂扯)
  • 来做个题吧,1000w 个数,数范围[-1000, 1000],写个排序(闭着眼睛桶排)
  • 你能提前来实习么
  • 反问(京东零售部的,技术栈 balabala)
  • 复试待安排

二面(30min)

  • 自我介绍
  • 找个比赛说说创新点,你主要做了哪些创新,最后模型为什么用 CNN 系不用 RNN 系
  • 由于上面我说我工作有训练词向量了,让我讲 word2vec 的架构,和一些细节问题
  • 为什么 w2v 向量在语义空间内有很好的数学性质,比如相加减
  • 数学问题:M 个样本有放回采样 N 次,问某条样本一次没被采中概率
  • 给你均值方差,让你利用正态分布随机生成 1000 个点(不能用库,说的不是很好)
  • 反问:哪个部门哪个组(零售-技术中台下)
  • 为什么选择京东,京东有什么核心竞争力(疯狂扯,我说我不太看好那些不能落地的,因为 jd 是电商,整个算法流程系统化工程化一定很健全,也有实际落地,带来实际效益,面试官非常赞同)
  • 最后手里有啥 offer 啊
  • 没了

hr 面(20min)

  • 小姐姐人很好,迟到了四分钟,上来道歉一波
  • 自我介绍
  • 遇到压力大的时候,比如在实习问题解决不了了,你会怎么办
  • 与 mentor 产生意见分歧要怎么做
  • 未来如果入职京东,对领导有什么要求呢
  • 你平常有什么学习习惯么
  • 你平常会定期做总结么
  • 反问
    • 当时问应届生入职需要做出啥改变,给小姐姐问懵了,我又补充说比如思想啥的需要有啥改变么,她给我讲了五六分钟,说的很直白,没啥官腔,说在学校如何如何,你来公司了又会如何如何
    • 啥时候有结果:她也不知道,她拿到的是乱序的面试名单,可能后面会统一安排通知

一点资讯

一面(不到 40min)

  • 自我介绍
  • 讲你的论文,这块一直问,问得特别细节,也问了好久,估计面试官比较清楚这块东西。
  • 讲实习,都怎么做的,遇到啥问题,怎么解决。
  • 讲一下 FM,DeepFM 这一系列(我从 LR,POLY2,FM,FFM,Wide&Deep,DeepFm 说了个遍)
  • 做了个算法题,A 了
  • 反问:
  • 部门:算法部信息流,和我微博实习的比较类似
  • 技术:做推荐 Java 和 Scala 用的多一些
  • 个人感觉像不招人。。。

大华

一面 - 大数据工程师(数据挖掘)(不到 40min)

  • 面试官很有礼貌
  • 自我介绍
  • 着重问了好久实习
  • 着重问了好久比赛
  • linux 查指定文件前缀有哪些命令
  • 讲一下 hive 和 hadoop 关系
  • hadoop mapreduce 执行流程
  • java 类和对象关系

百度

一面(1h)

  • 自我介绍
  • 介绍实习,然后疯狂挖实习,问的很深
  • 问如果模型区分不开一些样本,要怎么采样?业界有哪些常用采样策略。我真是懵了。。
  • 问了一堆 fm,比如表达式,复杂度,改进复杂度的推导
  • 了解深度学习么,从 wide&deep 出发疯狂问,有的是真不会,要再复习一下
  • 面试官说了个 DCN(深度交叉网络),我还以为深度卷积神经网络。。。,结果深度交叉网络的细节也给忘了
  • 我主动给介绍了下阿里的 DIN 和 DIEN,他问这模型可以用在新闻推荐场景么(答不可以,因为新闻类实时性比较强 balabala。。。不知道对不对)
  • 如果想让你加入一个用户短期兴趣,比如刚发布的新闻打分低,要怎么改,(我记得在 YouTube 有个说了关于这个,我说加了个时间维度特征,或者时间衰减)
  • 让我讲 BN,为什么提出 BN(好久没看 nn 的东西了,直说了个表象,容易收敛,面试官说为了解决输入分布不一致,bn 可以拉回来分布,我把这个忘了)
  • 从 LR 出发问了我 sgd,如何改进,说了个 momentum,再怎么改进,我说我了解个 FTRL
  • 说一下 boosting bagging ,lgb 为什么并行化效率高(答单边梯度抽样+直方图计算+互斥特征捆绑)
  • 怎么分析并解过拟合问题的
  • 算法题:三数之和
  • 反问
    • 部门是推荐策略部
    • 主要场景是百度直播和贴吧推荐
    • 用 Python 和 C++,不用 Java

触宝

一面(1h)

  • 自我介绍
  • 数据结构基础
    • 数组和链表区别,应用场景
    • 疯狂问排序算法,最优最坏平均复杂度,稳定排序有哪些(好长时间没复习这个了,答得比较差)
    • 一个剪枝题,口述算法过程,分析时空复杂度
    • 说说面向过程、对象、切片编程的区别(我。。。。。。)
  • 机器学习基础
    • 讲一下你了解哪些分类模型
    • 说说 SVM
    • 讲讲 id3 和 c4.5
    • 讲讲 xgboost 和 gbdt
    • 讲讲怎么判断 kmeans 的 k,聚类效果的好坏
      • k 可以用肘部法则 SSE(误差平方和)和轮廓系数
    • 讲讲分类,回归,推荐,搜索的评价指标
    • 讲讲 lr 和 fm,fm 的后续(ffm)
    • 讲讲你知道的各种损失函数
    • 讲讲 l1 l2 正则,各自的特点
  • 深度学习基础
    • 说说 deepfm,说说 fm 在 nn 中还有哪些(FNN,NFM,AFM)
    • 说说类似 l1,l2 正则化降低模型过拟合,还有什么别的方法
    • 说一下 sgd→adam 的过程(下面是面试后简单复盘,本身答的一般)
      • sgd
      • momentum 利用了历史信息,意味着参数更新方向不仅由当前的梯度决定,也与此前累积的下降方向有关。这使得参数中那些梯度方向变化不大的维度可以加速更新,并减少梯度方向变化较大的维度上的更新幅度。由此产生了加速收敛和减小震荡的效果。
      • rmsprop 在 Adagrad 中, 问题是学习率逐渐递减至 0,可能导致训练过程提前结束。为了改进这一缺点,可以考虑在计算二阶动量时不累积全部历史梯度,而只关注最近某一时间窗口内的下降梯度。根据此思想有了 RMSprop,采用的指数移动平均公式计算
      • adam 可以认为是 RMSprop 和 Momentum 结合并加了偏差校正,因为初始化是 0,有一个向初值的偏移(过多的偏向了 0)。因此,可以对一阶和二阶动量做偏置校正 (bias correction),
    • 介绍下梯度消失和梯度爆炸
    • 都有哪些方法解决这两个问题
    • 你了解多目标优化,迁移学习么(不知道)
  • 场景问题

    • 让你加一个兴趣类型特征 你要怎么做
    • 如何处理年龄类特征
    • 你了解相似向量快速计算的方法吗(就记得个啥哈希分桶,没做过)
      • 局部哈希计算,高维相近的点低维也相近,但是高维较远的点低维可能也相近,将 embedding 应设成 1 维,若担心把远的也算进来可以多设置几个 hash 函数等等。
    • 如何判断你模型上线的好坏
    • 给你个 nn 模型,如何调参,如何修改架构
    • 如何解决冷启动问题 用户侧,物品侧
    • 推荐系统的整体架构
    • 线上推断这部分再具体点怎么实现的
  • 反问

    • 触宝内容推荐(小说)
    • 主要用 python
    • 等后续 hr 通知吧

二面(45min)

面试官人很好,和善可亲

  • 自我介绍
  • 讲下实习做了哪些优化,问了些问题(我都没介绍实习,面试官已经直接点破我每一点实际都在做什么)
  • 讨论了一下抽样,作为一个算法工程师如何将抽样导致的得分分布变化给拉回来?
  • 因为实习模型是 FM,详细讲了下 FM,讨论了下 FM 的泛化性
  • 用的什么优化算法,顺便介绍下 sgd 后续的优化,sgd→momentun→rmsprop→adam,一面问过的,复盘过
  • 实习有没有除错过导致线上有点问题(还真有。。。)
  • hadoop shuffle 干啥的,为啥 key 相同的要放在一起
  • python 深拷贝和浅拷贝的区别
  • linux 替换文件中所有的 a,我说的 awk 或者 tr
  • 算法题:给两个字符串 S 和 T,计算 S 的子序列中 T 出现的次数(dfs A 了)
  • 反问:竟然和一面面试官不是一个部门。。。二面面试官给我介绍了算法在他们公司都有哪些应用。。。
  • 总之要有工程师顶层思维,不能局限于模型优化啥的。

大家可以访问我的 LeetCode 题解仓库:https://github.com/azl397985856/leetcode 。 目前已经 35K star 啦。

关注公众号力扣加加,努力用清晰直白的语言还原解题思路,并且有大量图解,手把手教你识别套路,高效刷题。


 评论


博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material X 作为主题 。
载入天数...载入时分秒...