【阿里实习,第三面居然问我有没有女朋友?!】

机器学习算法岗

下面的面试自己准备的问题都是通过我的好基友李思臧宇私下讨论、网上搜集整理而来,对此我表示感谢,很幸运有他们两位志同道合的朋友,目前这两个傻狗已回到学校,想念他们:)。

小弟的博客:http://blog.csdn.net/ice_martin

  • 目录
    • 实习面试
    • 自备面试问题
    • 实习项目
    • 转正

实习面试

之前很幸运,通过了阿里的春季招聘,当时是真的随便投的,没想到就过了。然后贴下自己的面试经历:

  • 一面
    • 之前的项目经历:文本分类、kaggle竞赛、验证码识别
    • NLP相关知识
    • SVM原理,手推一下决策函数,并说明一下决策函数的意义(新来的测试数据点只需与支持向量做一下内积即可判断分类)
  • 二面
    • 说一下哈希表的实现
    • 说一下一哈西的实现
    • 大数据集中找topK
    • 如果用编程语言实现一个网络服务器该如何实现
    • 逻辑回归为啥使用sigmoid函数,有何优缺点
    • 逻辑回归中为啥用对数,并且为啥不用log而用ln
  • 三面
    • 在商品批发中(1688)会有客户进行商品报价的询问,但有时会有一些垃圾询问、友商间谍套价等非正常询问,如何设计算法排查此类情况?
    • 有女朋友不(他问了这个问题我也是无语。。。)

总结一下问你的都不是特别难,感觉挺顺利的,之前准备的问题都没用上。下面贴一下自己准备的一些面试题。

期间准备的面试问题

  • Bagging算法
    Bagging是一种并行类的算法,代表算法为randomForest,但与 Bagging不同的是,randomForest不单对样本进行抽样,还对特征就行抽样,增加了特征的扰动。Bagging算法是一种降低方差的算法,因为是多种算法并行的集合,所以该算法对过拟合有很好的抵抗作用。
  • GBDT与随机森林比较
    GBDT属于Boosting(之前写成Booststrap了)类算法,是串行算法,randomForest是属于 Bagging类算法,是并行算法。GBDT降低了偏差,容易过拟合,randomForest降低了方差,不容易过拟合。randomForest在API中可以调节不平衡样本的权重,GBDT不可。GBDT调整的是上一次误差。
  • KNN(分类与回归)
    分类:选取K的取值,然后再训练集中找到与目标样本最近的K个样本, 然后将目标样本的类别标记为K个样本中取值最多的类别,此过程没有 训练的过程,只是一个搜索和统计的过程(一般采用kd-tree来加速搜 索)。
    回归:原理与分类基本一样,不过不同的是在回归问题中把目标样本的值选取为K个样本的平均值来标记。
  • LR为什么用sigmoid函数。这个函数有什么优点和缺点?为什么不用其他函数?
    优点:求导好求。把正负无穷的数值压缩到(0,1),可以很好的模仿概率值。有阈值,并且在阈值附近不会陡升陡降克服了阶跃函数的缺点。
    缺点:在0和1附近倒数会变成0,使得特别大的数据求导中梯度容易变为0。
  • LR和SVM有什么区别,libsvm和liblinear有什么区别
    LR考虑的是将全体样本远离中间那条分隔线,但对于在中线附近的点我 们不是很确信到底属于哪类。而SVM我们关心的是中线附近的点,我 们希望使这些点远离中线,所以LR考虑的是全局最大化,SVM是局部 最大化。libsvm根据liblinear实现,但libsvm不可以输出概率值,liblinear可以输出概率值。
  • Logistics推导
    具体参见博客

    http://blog.csdn.net/ice_martin/article/details/61966790
    图片说明

  • k-means的k怎么取
    如果是有真实数据可以进行聚类效果检验,采用ARI选取当前最大值的 K作为标准。
    如果是没有真实数据进行聚类效果检验,则采用calinski_harabaz_score。
    图片说明

实习项目

客户聚类

  • 迭代一:利用RFM模型,Kmeans++聚类
    图片说明
    图片说明
  • 迭代二:改进的RFM模型,Kmeans++聚类
    图片说明
    图片说明

潜客挖掘

数据比较敏感,就不贴图了,大概就是做一些潜在客户挖掘的事情,把这些人挖出来然后重点销售推荐。

百技培训

图片说明

在实习期间参加百技培训,与同组的小伙伴们一起赢得了团队第一名,之后跟同组的小伙伴建立了深(miao)深(pian)地(jiao)友(liu)谊,你懂得。

转正

转正答辩和面试其实就是问一些你在实习期间的工作,如果有产出就很好说话了,如果没有可能就比较危险,面试官问的问题基本上就是根据你的转正PPT来随机提问。贴一下我的offer:)

图片说明

#阿里巴巴##算法工程师#
全部评论
LR为什么用sigmoid函数  个人觉得答案参见这个https://www.zhihu.com/question/35322351   答案比较好,应该是通过最大熵推导出来的。  另外liblinear和libsvm的区别主要在于liblinear在原问题下求解,时间复杂度跟维度w有关,而libsvm在对偶问题下求解,没有维护w的值,最终的预测结果是\sum_{j=1}^n \alpha_j y_j x_j x_i  时间复杂度跟样本数量有关系,所以线性可分的large scale问题下liblinear都比libsvm快很多。
点赞 回复
分享
发布于 2017-09-07 20:14
厉害
点赞 回复
分享
发布于 2017-09-07 18:39
联易融
校招火热招聘中
官网直投
厉害,学习学习
点赞 回复
分享
发布于 2017-09-07 18:41
大佬学什么的
点赞 回复
分享
发布于 2017-09-07 18:43
天哪,听都没听说的东西
点赞 回复
分享
发布于 2017-09-07 18:45
牛逼,是p6吗?
点赞 回复
分享
发布于 2017-09-07 18:48
你好,定薪资了么?
点赞 回复
分享
发布于 2017-09-07 18:57
厉害了,向大佬学习
点赞 回复
分享
发布于 2017-09-07 19:10
请问准备的面试题还有吗
点赞 回复
分享
发布于 2017-09-07 19:14
在这里畅所欲言你的看法吧! 那么逻辑回归中为啥用对数,并且为啥不用log而用ln啊
点赞 回复
分享
发布于 2017-09-07 19:27
随机森林那个打错了吧 应该是bagging吧。
点赞 回复
分享
发布于 2017-09-07 19:27
楼主厉害,不过我记得boost族算法是串行类算法吧,bagging算法属于并行类算法吧,随机森林应该是bagging算法的变体形式吧
点赞 回复
分享
发布于 2017-09-07 19:27
it's me!!!!!
点赞 回复
分享
发布于 2017-09-07 19:38
看来是直系的学长哈,赞!
点赞 回复
分享
发布于 2017-09-07 19:51
楼主想问下:在0和1附近倒数会变成0,使得特别大的数据求导中梯度容易变为0。这个是什么
点赞 回复
分享
发布于 2017-09-07 20:25
来膜拜 孟桑 大佬
点赞 回复
分享
发布于 2017-09-07 21:33
真·优秀
点赞 回复
分享
发布于 2017-09-07 21:37
恭喜大佬! 顺便蹭喜气~
点赞 回复
分享
发布于 2017-09-07 21:39
什么部门?
点赞 回复
分享
发布于 2017-09-07 22:18
!学习了
点赞 回复
分享
发布于 2017-09-07 23:58

相关推荐

字节核心收入部门,实习+校招+社招,北京、上海、杭州均有坑,内推邮箱:caoxiangyu.codedog@bytedance.com抖音广告技术团队招聘职位&团队描述1、抖音广告全场景全链路优化,包括召回/粗排/精排/混排各模块的整体优化,构建业界领先的下一代广告投放系统2、在超大规模在线深度学习框架下,持续结合前沿技术定制优化,优化CTR/CVR/DeepCVR模型精度,持续提升预估能力天花板3、在海量广告候选下,进行召回&粗排模型及链路优化,结合服务/素材等不同投放标的,不断优化链路漏斗效率4、从整体抖音广告业务出发,深入抖音多业务大混排,全域协同(roi2),长期价值建模,人群转化渗透,用户体验等业务策略前沿探索,促进抖音系各端(抖音/抖音极速版/火山)的全面提收发展5、对于算法&系统&产品全局思考,深入原生&激励&新样式互动等特色业务场景,设计并落地模型策略一体化方案,推进业务全面快速发展6、业界体量top的商业变现场景,业务形态丰富,团队务实氛围好,注重技术导向职位要求1、优秀的编码能力, 熟悉C++和Python, 扎实的数据结构和算法功底2、有深度学习实战经验, 有机器学习算法优化理论的研究经验,有推荐/广告相关领域经验3、数据敏感度高,有策略/业务相关算法的优化经验,熟悉广告/推荐业务策略4、靠谱、敢于突破,不内卷、对技术有执着的追求和热爱4、有国际顶级会议论文、知名github作品等公开成果优先。kaggle, acm等算法比赛获奖者优先
投递字节跳动等公司9个岗位
点赞 评论 收藏
转发
点赞 206 评论
分享
牛客网
牛客企业服务