关于算法:提前批算法工程师面试之路

36次阅读

共计 4191 个字符,预计需要花费 11 分钟才能阅读完成。

  • 作者:宝石
  • 校对 & 整顿: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 了)
  • 反诘:居然和一面面试官不是一个部门。。。二面面试官给我介绍了算法在他们公司都有哪些利用。。。
  • 总之要有工程师顶层思维,不能局限于模型优化啥的。

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

公众号【力扣加加】
知乎专栏【Lucifer – 知乎】

点关注,不迷路!

正文完
 0