阿里、腾讯、京东、微软,各家算法&数据挖掘岗位面经大起底!
2016-02-24 36大数据 36大数据
作者: 江少华
摘要: 从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团、阿里蚂蚁金服、京东、腾讯、今日头条、Growing IO、微软这7个公司的面试,同时参加了网易游戏、LinkedI In中国这2个公司的笔试,拿到比较优 …
从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团、阿里蚂蚁金服、京东、腾讯、今日头条、Growing IO、微软这7个公司的面试,同时参加了网易游戏、LinkedI In中国这2个公司的笔试,拿到比较优质的offer是京东Star和阿里星2个Offer。
应聘的岗位要么是算法工程师,要么是机器学习与数据挖掘岗,企业叫法不同,工作实质都是利用机器学习与特征工程去解决业务问题。整个求职过程是一个和互联网企业双向了解,接收面试反馈后不断思考、调整职业规划与重复完善知识体系的过程。
本文通过介绍我个人的求职过程,向后来者揭示国内互联网企业对算法&机器学习岗的要求、面试过程、薪资状况,也分享一些个人在这个过程中积累起来的见闻、经验。
本文分为三个部分,笔试&面试、经验心得、题目汇总。笔试&面试部分介绍各个公司的内推时间点、内推形式、我个人的笔试&面试情况,对了,还有不涉及保密协议的一些薪资情况;经验心得部分简单介绍简历、内推、面试的一些体会,对了,还有一些捷径;题目汇总部分包括我个人3个月求职过程中遇到的题目,分为笔试题、编程题、机器学习&数据挖掘问题、解决方案类题目。
笔试&面试
美团公司-猫眼电影部门
美团在2015年8月初开始接收内推。猫眼电影今年刚单独拆分出来,部门内缺少算法工程师负责机器学习类的工作,所以面试不难,你懂模型、能搞业务就没问题,编程题简单。
阿里蚂蚁金服-安全&服务与数据事业群-人工智能部
阿里集团2014年上市,将包括支付宝在内的金融业务剥离单独成立为蚂蚁金服。人工智能部刚成立,战略定位颇似蚂蚁的数据中枢,用于为各个部门产出数据智能。我因为参加阿里巴巴天池平台的移动推荐竞赛获得亚军,有专场面试的机会。
在专场面试中表现神勇,连面4面+CTO面+HR总监面,斩得阿里星Offer。第1、2面是后来的主管,在聊完移动推荐和其他几个比赛后出了2道业务场景题-商品性价比和排序期望题,题目罗列在文章最后一部分。
第1道题当场就给出了解决方案,二分类机器学习问题。第2道题,试过多种方法,和一个ACM Final朋友想了个DP解法,有多个复杂的动态转移方程,这个方案优点是时间复杂度低,能精确给出答案,但空间复杂度高,只针对选择排序,后来我将这个期望当作1个因变量,将问题转化为回归问题来求解,各种思路我给出了1份10多页的报告阐述。
面试官应该是被这10页报告惊呆了就把我面试等级评为A+,也就开始了阿里星的面试流程。第3、4面是交叉面,面试官是P10和P11的HR和部门经理漆远教授。第5、6面是现场面试,面试官是CTO鲁肃和HR总监。
最后4面都是综合面试,简历上往深度里面,技术上会根据针对性地出题,同时会给出业务类的题目。阿里的面试等级为B+,A-,A,A+,A+可以被面试官推到CTO处进行交叉面,面过了就是阿里星。
京东-数字营销业务部
京东8月底开始内推。数字营销业务部2014年成立,一年实现100多亿的营收,赚了大钱,公司因此开始重视技术。
在NLP Job上看到相关内推,顺手发了封邮件,第2周的周一就被安排面试,面完2轮面试官给了special offer面试机会。最终的面试流程是2轮技术面+1轮HR面+1轮交叉面+1轮VP面,按照校招宣讲的说法这个是京东Star的流程。
腾讯-TEG
7月底到阿根廷参加IJCAI会议时,碰到TEG的部门老大,在微信上把简历给了他。但部门老大自然不把这种校招内推的事放心上,到了9月初才被安排面试。面了2轮,算法题比较简单,但要求bug free,其他时间都在聊模型、数据挖掘比赛、实习项目。第二轮面试聊了很久,比较有意思,面试官给我分析了我拿到和可能拿到的offer。
今日头条-推荐组
今日头条算是一家国内少有的技术驱动的公司,目前是C轮。头条的笔试出的比较有水平,所以会比较看重笔试。我在面头条时心态不好,先是拒绝参加笔试,而后以比较高的姿态和HR、面试官沟通。所以头条的面试在第三轮时就中断了。头条面试的编程题不难,但对模型、推荐系统、项目线上经验等考察得比较深入。
Growing IO-机器学习组
Growing IO是原Linked In商务分析部门总监张溪梦先生回国创立以提供数据分析为主,一键埋点为技术壁垒的Start up公司,目前仍在天使轮,进去的话工号排在十几。面了5面,部门leader2面+交叉面1面+co-founder面+CEO面。面试是按照社招的标准走的,leader面对机器学习考察得比较全面、深入,其他面就是聊聊天,画画饼。团队里都是比较资深的工程师,但机器学习业务不多。
微软-Ads
2015年7月开始在微软小冰组实习,9月中旬开始转正面试,转到Ads部门。微软的转正面试是2轮技术面+1轮AA面,2轮技术面1轮positive就可以AA面。如果非实习生则需要2轮技术面都positive。另外,微软有预科生计划,转正只需要presentation,无需面试。转正面试的编程题相对较难,对模型、项目的考察较为深入。
网易游戏、Linkdln中国
在9月中和10月初参加了这2个公司的笔试,2个公司的笔试都比较切合业务,与SQL语句相关。网易的笔试做了340分,但没被通知面试LinkedIn中国的笔试接近满分,但已经10月多,已经开始参加数据挖掘竞赛,没什么面试状态就没去面试。
经验心得
1.国内互联网公司和国外FLAGS的面试有很大不同,前者重视项目、实习经验、专业积累,后者看重的是你聪不聪明与编程题刷得多不多。在求职开始的时候心里得有个谱,合理分配时间、精力,并理性看待自己挂了笔试或面试。
2.简历讲究简单粗暴有逼格,简历包含联系方式、教育背景、实习经历、项目介绍、牛逼的荣誉、岗位相关的技能就好,谓之简单粗暴,有逼格则指的是实习、项目多用数字量化描述,省去叙事的过程,结果导向。还有一点经验,可以适当装逼,但不能装逼得超过可掌控范围。
3.投简历的时候,多走内推渠道,省去大部分笔试或者电话面试,不吃力又讨好。内推渠道有以下几种,我按照靠谱程度排个序:1) 总监以下的内部技术员工 2) HR 3)总监以上的高管 4)北邮人论坛 5)Linked In 6)知乎 7)NLP job 8)微信公众号。1)和2)是比较靠谱的,3)~7)只能作为备胎。还有一个非主流但很有效的捷径是参加企业举办的比赛并取得好名次。
4.面试时要抓住提问环节问一些实质性的问题,比如具体的技术问题、部门组织架构、部门战略地位、以后的工作团队、对个人的定位、KPI怎样给出等,尤以部门组织架构、战略地位、团队这类大又可说的问题最佳。京东面试官给我讲了百度架构部门的痛点,在之后的面试中我就经常和面试官聊关于架构部门和业务部门的话题,学到很多,大局观也慢慢改善。
5.在精力允许的情况下多面,多拿offer,一方面涨见识、谈资,一方面在谈理想公司的offer时能争取到更好的薪资待遇。
题目汇总
笔试题
在互联网分析中,通常会关注用户的【第N日激活率】来衡量用户质量。用户的第N日激活指的是用户在注册的第N天登录网站或App,即算为该用户的第N日激活。第N日激活率指的是某日注册用户在第N天激活的数量除以该日所有注册用户数量。
“赤兔”是领英中国针对中国职场人士推出的一款本土化的社交应用。如果你是领英中国的数据分析师,你会从哪些方面和维度来设计各项指标,给产品的设计和运营提供数据上的支持?请给出具体的维度和指标,并说明原因。
网易游戏的一道笔试题是给定一条包含3个join的SQL语句,要求写代码模拟实现SQL的功能。
编程题最少时间复杂度求数组中第k大的数,写code去除字符串S1中的字符使得最终的字符串S2不包含’ab’和’c’,写code长度为N的序列Sequence=abc….Z,问有多少不同的二叉树形态中序遍历是这个,写递推公式给定整数n和m,问能不能找出整数x,使得x以后的所有整数都可以由整数n和m组合而成中序遍历二叉树,利用O(1)空间统计遍历的每个节点的层次,写bug free的code排序二叉树转双向链表一个运算序列只有+、*、数字,计算运算序列的结果.
机器学习&数据挖掘问题L1和L2正则项 >> 它们间的比较各个模型的Loss function,牛顿学习法、SGD如何训练介绍LR、RF、GBDT ,分析它们的优缺点,是否写过它们的分布式代码介绍SVD、SVD++是否了解线性加权、bagging、boosting、cascade等模型融合方式推荐系统的冷启动问题如何解决是否了解A/B Test以及A/B Test结果的置信度特征工程经验是否了解mutual infomation、chi-square、LR前后向、树模型等特征选择方式
解决方案类题目为今日头条设计一个热门评论系统,支持实时更新给定淘宝上同类目同价格范围的两个商品A和B,如何利用淘宝已有的用户、商品数据、搜索数据、评论数据、用户行为数据等所有能拿到的数据进行建模,判断A和B统计平均性价比高低。统计平均性价比的衡量标准是大量曝光,购买者多则高。有n个elements和1个Compare(A, B)函数,用Compare函数作为排序算法中的比较算子给elements排序。Compare函数有p的可能比较错。排序完取Top m个元素,本来就在Top m并被正确分在Top m的元素个数是x。问x的数学期望。如何预测双十一支付宝的负载峰值。