大家好,又见面了,我是你们的朋友全栈君。
个人公众号,欢迎关注
YouChouNoBB
目前就职于腾讯,想内推朋友可以发我简历(校招/社招都要),邮箱384375530@qq.com,注明岗位和工作城市。
这个岗位叫法很多,算法岗,数据挖掘岗,机器学习岗,基础研究等等,总结一下从16年9月校招的面试情况。
百度:
师姐给我内推的,一面聊了2个半小时,基本在写代码。用MapReduce写好友推荐,在一堆单词里面找出现次数最多的k个;设计一个栈,O(1)时间返回最值;求多叉树深度。二面基本都在问hadoop,数据结构与算法。聊了1个半小时,hadoop原理,shuffle如何排序,map如何切割数据,如何处理数据倾斜,join的mr代码如何写。动态规划,树结构,链表结构等等。三面是经理面,问了些性格方面的问题,还有些比赛和项目中遇到的问题,只聊了半个小时,要了身份证,说后面会安排笔试,后来笔试通过了,谈了一下给special offer。
阿里:
因为拿过天池竞赛top名次,直接给终面,但是不想去菜鸟就拒绝了。然后我就叫朋友帮我内推了蚂蚁金服,1面聊机器学习里面的东西,数据结构算法,比赛,项目。2面问了如何在海量数据中查找给定部分数据最相似的top200向量,向量的维度也很高,以前了解过类似问题,直接就说可以用KD树,聚类,simhash。然后又问怎么衡量两个商品的性价比,从二分类的角度大概描述了一下,后面问了些比赛和项目。终面的时候跟我说蚂蚁金服没名额了,问我愿不愿意去架构部门做java web开发,果断拒绝。没有参加正式校招的笔试,现在想起来挺后悔,校招过了很久之后因为其他比赛拿到top名次的原因重新邀请面试,没什么状态直接放弃。
腾讯:
内推到王者荣耀跪掉了,于是参加了正式校招的笔试。一面的时候,手推了一些模型公式,LR,SVM,XGB。AUC的定义和本质,有哪些计算方法,代码实现。聊了些比赛和项目,总之聊的比较开心。二面 要求用C++写字符串拷贝……直说我不会C++,但是应该有安全性问题需要考虑下,我记得字符串结尾有\0这种容易掉坑的地方。后面聊了动态规划,还有些剑指offer上常见的题目,hadoop,spark,storm下面的产品,原理,适用场景,DNN原理,应用,接着继续聊项目和比赛。HR面就随便聊天,问比赛和项目里遇到过的困难,问了自己的优势。还问了我拿到了哪些公司offer,对意向的公司的一个排序是什么,期望待遇。然后说是9月28之前出结果,过与没过都能在微信上查到。9月27号上午,收到腾讯offer。
华为大牛专场笔试满分,现场面了2面装逼过度被刷了。后来参加过今日头条的比赛拿到top名次邀请面试,没什么状态也放弃了。研究生快毕业的参加了京东的一个算法比赛,拿到亚军。直接总监面,过了一周之后发了special offer。
总结
经常会问到的问题,经典算法推导(加分项),原理,各个损失函数之间区别,使用场景,如何并行化,有哪些关键参数
比如LR(并行算法的几种优化方法经常被问到),FFM,SVM,RF,KNN,EM,Adaboost,PageRank,GBDT,Xgboost,HMM,DNN,CNN,RNN,LSTM,推荐算法,聚类算法,图像,自然语言,等等机器学习领域的算法,这些基本都会被问到。
XGB和GBDT区别与联系也会经常问到。一些评估函数,F值,mae,logloss,AUC,MAP@N,特别是AUC是如何计算的;哪些优化方法,随机梯度下降,牛顿拟牛顿原理;生成模型,判别模型;线性分类和非线性分类各有哪些模型;SVM核技巧原理,如何选择核函数;特征选择方法有哪些;常见融合框架原理,优缺点,bagging,stacking,boosting,为什么融合能提升效果;信息熵和基尼指数的关系(信息熵在x=1处一阶泰勒展开就是基尼指数);如何克服过拟合,欠拟合;L0,L1,L2正则化(如果能推导绝对是加分项,能画个等高线是最基本的,L0是NP问题);模型性能如何评估=方差+偏差+噪声;方差:训练集error低,验证集error高,偏差:训练集验证集error都高。
其实上面的这些问题基本都能在《李航:统计学习方法》《周志华:机器学习》里面找到,能翻个4,5遍基本就无压力了
另外可以报一下小象学院的机器学习班,等到开团的时候报也就300左右,讲的挺不错的,有算法推导和代码实现,我也是看了之后才明白很多算法的原理。还会问一些常见的数据结构和算法,写代码的题基本都是出自《剑指offer》和《微软面试100题》,只要刷几遍,代码题这里搞定也是加分项。
其余的基本就是问问比赛,项目,遇到的问题,如何解决,在团队中的角色,评价自己;面试官问你还有问题要问没,就别瞎问了吧,多看看别人的面经;比如问点现在这个部门做的业务,遇到过的问题,部门发展的一个规划;最好别叫面试官评价你,要是评价不好会影响心情,自己的面试表现自己应该清楚。
可以在自己面试的时候做记录,经常复习,先从小公司面起,积累经验;另外要定位准确,自己的水平自己清楚,不要死磕大公司,浪费了大量时间还经常1面被刷;没事审视下自己的简历,不要把自己不熟悉的东西写上去,像什么精通之类的建议改成了解吧,不然会被问哭的;不要装逼写2页,我很多项目比赛都没写进去,只写了几个名次靠前的比赛,能吹一点的项目,其他没写进去的可以找机会主动说出来;项目即使很水,也要吹的很难很厉害的样子;比赛和项目尽量突出里面的难点,自己做的贡献。
多刷题也比较重要,我自己的感受是内推问的问题会比通过了笔试问的要难一些,深一些;算法的推导同样重要,之前我也是看到那些公式就蛋疼,后面没办法,看书看视频,多手推几遍,这样面试的时候更有底气;个人觉得在面试的时候能手推算法的应该比较少,所以优势是很大的;实习生面试BAT跪掉的原因就是没有复习,对算法的原理了解不够深入,所以在校招的时候,9月开始用了将近一个月的时间来复习,效果挺好。
建议多交一些牛逼的朋友,我们有个专业打比赛群,6个人,有4个百度offer,有3个腾讯offer,还有个研二估计是下一个阿里星吧(一年前的预测成真了,wepon真的拿到阿里星了……天音也拿到阿里offer了,群里bat齐了,后来有个大佬去头条了,现在看来是明智的决定)我们经常一起打比赛,在群里讨论学术,装逼扯淡什么的,今年只要参加了的比赛,基本都拿奖了吧。
另外感觉大公司也并没有学校歧视,我的学校211都不是,问都没问过学校的问题。我本科是个学渣,找不到工作就考研,读研开始写代码,所以两年,可以改变很多事情。
下面是我准备面试整理的一些资料,里面有很多算法以及面试问题
http://download.csdn.net/detail/bryan__/9640531
大量算法题参考资料
http://blog.csdn.net/v_july_v/article/details/6543438
http://blog.csdn.net/hackbuteer1
机器学习公开课
https://www.julyedu.com/video/play/18/10
面试算法资料
http://www.cnblogs.com/tornadomeet/p/3395593.html
机器学习知识点总结
https://bbs.aliyun.com/read.php?spm=5176.100258.100258.8.bhrQ8k&tid=294564&displayMode=1&page=1&toread=1#tpc
http://m.blog.csdn.net/article/details?id=50244695
面试编程题十大经典算法
http://mp.weixin.qq.com/s?__biz=MjM5Nzk2MDU5NA==&mid=2652545706&idx=3&sn=87e964154fa54999719c34c4b67dfff7&scene=0#wechat_redirect
知乎上的问题,如何准备机器学习工程师的面试,非常全,多往后面翻,收获会很多
https://www.zhihu.com/question/23259302
如何判断深度学习面试者水平
https://www.zhihu.com/question/41233373
最后是我参加数据挖掘竞赛的情况,截止17年6月,天池积分榜排名第五,拿到3次top3,获得天池平台的数据科学家称号,2年竞赛生涯圆满。
个人公众号,欢迎关注
YouChouNoBB
另外,想要来腾讯,可以扫码内推
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131578.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...