美文网首页
关于算法工程师的一些准备

关于算法工程师的一些准备

作者: 士多啤梨苹果橙_cc15 | 来源:发表于2017-07-10 15:50 被阅读0次

    前段时间朋友说阿里的内推开始了。他可以给我推蚂蚁金服

    蚂蚁金服在成都和杭州两个地方,而且作为一个学生,工作能进阿里巴巴是一种信仰。所以抛开学历,能力。不管是出于何种原因,我都要去试一试。

    我想面的岗是算法工程师(机器学习)。因为读研本来就是学的这个方向,再加上既然选择了读研究生,就要读的有价值,有意义。把自己学到的东西应用到实际生活当中,这难道不是一件很有意义的事情吗?

    下面是准备篇:

    之前发现了一个很有意思的网站叫传送门,上面有很多很有意思的公众号。有一个我关注的要特别推荐机器学习算法与Python学习。上面有很多对于这个领域真正的思考。下面的基本是都转自他的公众号和博客http://chuansong.me/n/1763421851215

    一般机器学习的岗位主要考察应聘者三方面的能力:1.算法和理论基础(机器学习实战+统计学习方法);2. 工程实现能力和编码水平(牛客网+剑指offer+leecode)3.应用场景(搜索,广告,垃圾过滤,安全,推荐系统)

    下面是一些面经:

    1.百度大数据

    一面

    -->手写代码:字符串反转+快排

    -->如何提高python的运行效率?写一个简单的正则表达式,将文本中的(123.4)匹配出来

    -->机器学习:

    knn(分类与回归)

    CART(回归树用平方误差最小化准则,分类树用基尼指数最小化准则)

    Logistics(推导)

    GBDT(利用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,拟合一个回归树)

    随机森林(Bagging+CART)

    SVM与随机森林比较

    改变随机森林的训练样本数据量,是否会影响到随机森林学习到的模型的复杂度

    Logistics与随机森林比较

    GBDT与随机森林比较

    自己实现过什么机器学习算法

    推荐算法(基于用户的协同过滤,基于内容的协同过滤)

    如何做一个新闻推荐

    其他:Map-reduce,Hadoop ||  一个袋子里有很多种颜色的球,其中抽红球的概率为1/4,现在有放回地抽10个球,其中7个球为红球的概率是多少?(伯努利试验)

    二面:

    -->项目:项目哪个地方印象深?可以迁移到哪一块?

    -->数据结构:介绍大项堆和小项堆 || 二叉树的前中后序遍历 || 手写前序遍历算法(一定不要忘记异常处理) || 介绍前序非递归算法

    -->编程语言: [py] list有哪几种添加元素的方法,能否从表头插入元素?(append, extend和insert, insert能从表头插入元素, 但是时间复杂度为O(n).)

    如何获取list中最后一个元素arr[-1]

    a = [1, 2, 3, 4], b = a, b[0] = 100, 请问print(a)结果是什么 [100,2,3,4]

    2. 阿里巴巴电话面试

    -->项目

    -->机器学习

    线性分类器与非线性分类器的区别和优劣

    特征比数据量还大时,应该选择什么分类器

    对于维度很高的特征,选择线性分类器还是非线性分类器

    对于维度很低的特征,选择线性分类器还是非线性分类器

    如何解决过拟合问题

    L1和L2正则的区别,如何选择L1和L2正则?

    随机森林的学习过程

    随机森林中的每一棵树是如何学习的?

    随机森林算法中cart树的基尼指数是什么

    -->算法:如何找到第k大的数

    机器学习不光要考虑算法本身,更多的还要去思考应用

    百度NLP

    统计知识

    给定一个分类器p,它有0.5的概率输出1,0.5的概率输出0。

    Q1:如何生成一个分类器使该分类器输出1的概率为0.25,输出0的概率为0.75?Ans:连续进行两次分类,两次结果均为1则输出1,其余情况(10,01,00)均输出0。

    Q2:如何生成一个分类器使该分类器输出1的概率为0.3,输出0的概率为0.7?Tip:小明正在做一道选择题,问题只有A、B和C三个选项,通过抛一个硬币来使选择3个选项的概率相同。小明只需抛连续抛两次硬币,结果正正为A,正负为B,负正为C,负负则重新抛硬币。Ans:连续进行4次分类(2^4=16 > 10),结果前3种情况则输出1,结果接下来7种情况则输出0,其余情况重新进行分类。

    1. 代码算法:基本算法(如快排等,需要熟练掌握) + 剑指Offer(面试经常出相似的题) + LeetCode(剑指Offer的补充,增强动手能力)

    2. 机器学习:李航《统计学习方法》(读3遍都不为过啊!) + Coursera Stanford《Machine Learning》(讲得很基础,但是没有告诉你所以然) + Coursera 台湾大学《机器学习高级技法》(里面详解了SVM,Ensemble等模型的推导,优劣)

    3. 请详细地回忆自己做过的项目,项目用了什么算法,为什么用它,有什么优缺点等。如果没项目经验可以参加天猫大数据比赛和Kaggle比赛。

    4. 教你如何迅速秒杀掉:99%的海量数据处理面试题。[http://blog.csdn.net/v_july_v/article/details/7382693](基本每次都有一道海量数据处理的面试题)

    相关文章

      网友评论

          本文标题:关于算法工程师的一些准备

          本文链接:https://www.haomeiwen.com/subject/hinyhxtx.html