腾讯有没有java岗位-腾讯状态不合适岗位
先简单介绍一下自己的背景,双非财经工商管理,通过近两年的努力,陆续斩获了阿里巴巴数据研发工程师、腾讯数据分析、字节商业分析和亚信科技大数据开发的offer,目前准备继续读数据科学硕士。
接下来我会比较详细地介绍一下
文章比较长,但有用心地做总结复盘,希望能给到正在春招,转型以及即将转型还在犹豫不决的朋友带来或多或少的帮助和启发。
一些自己投递实习和面试进程的记录
从0开始接触数据领域
我是从2019.4开始接触python,具体原因也很简单:就是感觉商科学的东西比较虚,以及数据领域最近些年比较热门。
后来机缘巧合从2019.5开始在加拿大的一家AI公司远程做了一年左右的数据分析实习,因为跟着公司项目走,需要自己额外补充Tableau、爬虫等技术,所以参加了指南者的商业分析训练营和爬虫训练营(当时看到网上做背景提升比较好的就是他家),顺利地让我做成了好几个实习公司的项目。
到了2020.2的时候,自己开始对机器学习产生了强烈的兴趣又赶上疫情宅家,就从国外一些网站上面学了不少机器学习方面的东西,然后2020.3参加了第一个kaggle的入门级机器学习比赛(对,就是那个泰坦尼克号生存率预测)。
闭门搞了两天,从最开始的准确率74%提升到了最后的80.86%,全球排位也上升到了前6%,那个时候才真正开始逐渐理解什么是特征工程,如何利用EDA帮助构造更好的特征,如何评估模型选择模型以及模型调参。(虽然也取得了不错的成绩,其实因为缺乏系统训练很多细节都没能搞清楚,这个我后面会讲到)。
Kaggle比赛的排位信息
接着我开始了大三下申请暑期实习的事情,也就是我如何拿到阿里巴巴数据研发工程师(现在改叫数据工程师)offer的经历,这个部分我会分三个部分讲述:1.简历修改 2.面试问题 3.面试官究竟想考察申请人什么素质。这里特别注意的一点是虽然很多数据岗位叫法不一样,但是JD上体现的和数据分析有很多共性,按照数据分析岗位去准备就可以。
大厂数据岗面试经历
简历修改
这个环节基本上就决定了你能不能被捞起来甚至他们会捞起来主动内推你,所以我一直对自己的简历抱有敬畏之心,时不时就要拿出来改一改。我的前boss说过一句很有意思的话,“每一个简历都是一个艺术品,没有一份简历是差的简历,只有可能别人的比你更好”。
我一直深以为然,以至于在之后的每一段实习过程中,每一天我都要想每一天的收获是什么,每一周我都要去刷新我的简历,不断地去调整语言表达、用词、语序、逻辑,真正地做到每一句话都要去展示你的一个能力点。这个过程是需要逐渐培养的,争取每一周都要重新审视之前的经历,去思考如何将他们与你正在投递的工作JD联系起来。
具体到数据分析岗位的简历修改,最需要凸显的两个方面是:技术能力过关+对于数据分析结果的解释。
前者一般体现在:
后者对于数据分析结果的合理化解释就是:
面试问题
阿里的暑期实习一般分为以下几个步骤:网申网测,技术面,主管面,代码面,交叉面,hr面。
网申网测
基本是看你的价值观和阿里的是不是相符(会让你做很多性格测试的选择题,大家就都选那种比较激进努力的选项就可以稳过hhh),网测是两道代码题(尽量做,没做完的话也不会影响你过网测,我当时就做出来一道)。
接下来我详细介绍一下面试问题以及经验,因为每个人的简历不同,面试官侧重的方向可能会不太一样。我的经验是面试官会在你简历范围内适当拓展,因为如果简历不行的话就被pass了到不了面试环节的,只要被发起面试邀请,或多或少你的简历里面是有面试官想发掘的地方。
具体来说分为三个考察方面:
①技术能力(机器学习与特征工程能力)
② 业务理解(如何用数据解释驱动业务)
③ 代码能力(代码面试)
技术面:时长45-50min
应该是team里的师兄,人很和善。考察的都是ML算法细节和特征工程中的一些点:bagging和boosting区别?label encoder和one hot encoder区别?KNN和KMeans区别,实现原理描述?随机森林细节(如何实现bootstrap,包外估计是什么,调参方向)?稀疏矩阵问题如何解决?PCA原理?……
还有一些时间久远实在想不起来了,个人感觉就是对算法扣的比较细,有一些问题会继续追问,问到你答不出来为止(比如当时他感觉我bagging说的不错,继续追问我GBDT,当然那时候我还不会GBDT,他也表示理解)。整体来说回答的还算不错,除了kmeans的原理说的不太对之外其他都很顺利(记得好好复习KMeans和KNN啊!!好多面试官问区别的)。
私以为技术面主要就是针对每个申请人的简历考察细节(因为我ML的项目很多,所以面我的师兄问的也都是ML相关,当然我也看到很多CS的朋友面同一个岗位被考的是Java之类的问题),所以不要太担心问题超纲,都是在你简历范围内适当深度拓展目的就是试试底。
一定要对这些ML算法细节加以准备,以及数据科学建模流程,基本技术面里的知识点指南者的机器学习训练营都覆盖到了(此处给指南者的李老师打个小广告,讲的确实很细,很多易考点把握的真的很精准)
二面:主管面,时长25min
面我的是阿里某拉海购前端业务侧主管。当时主管很忙,说是有会,并且说从来没面过工商管理的学生,不知道我们学的啥。让我给他说了说自己做的比较有成就感的项目和细节,然后就没了... 果不其然,第二天被挂了。。。过了五六天我又被捞了出来,有惊无险...
确实得承认有时候背景是硬伤,可能某一个面试官就对你的背景不是很满意,聊不来之类的,即使不小心被挂掉也没关系,阿里那么大,这么多部门都在选人,他们如果在池子里看到你还不错的话会再把你捞起来给你机会的,所以心态调整也很重要啊。
三面:代码面,听说是新加的
就是那边的师兄和你连线,用阿里的代码面试平台,他可以实时看到你写码。对于只会python的同学也不要担心,面试官很好,会根据你会的语言帮你调整题目,我当时就是这样,考了个排序题还有二分查找的两种方式,并且面试官会引导你的思路,即使一开始没有头绪也不要紧,可以先把自己的想法表达一下,顺着面试官的提示来,不要有压力。
感觉即使是代码面,面试官也会和你进行交流沟通,同时也在考察你的编程思维,解决问题的思路,虽然最后我有半道题没有做完,依然通过了面试。
四面:面试时长1h20min
阿里P9资深数据技术专家交叉面,也是我感觉体验度极佳的面试。
主要考察数据分析整体流程以及分析思维,也就是如何去设计问题,收集数据,展示数据以及怎样得出合理的结论。
看起来好像不难,但私以为是整个流程里最intense的一关,除了问我一个项目之外,他还根据我之前在指南者参加的的一个B站数据分析项目当场给我出了一道题:如何根据B站视频播放情况针对性广告投放。
他希望看到的就是你有清晰的数据分析思路,回答不一定完全正确,但一定是将各个方面考虑的很全面。还有一些模型评价指标比如precision,recall的区别腾讯有没有java岗位,什么情况用哪一种都要了解全面。
之所以他选择B站的项目,是因为这个里面涉及到了用户的一些数据,像目前的大厂的数据岗由于布局在业务端的原因,对于用户行为的洞察变得尤其重要,因此如果有分析用户行为的项目还是比较值得参加的,这些和实际业务结合的非常紧密,最可以凸显出你的业务理解能力。
五面:HR面
其实就是和你聊聊个人情况,非常轻松愉快,也是问了基本所有面试官都会问我的问题,为什么要从纯商科跨专业到数据领域。理所当然也是顺利通过了。
阿里的面试真可谓一波三折,中间也是被陆续捞起来两次,虽然最后因为个人时间安排和规划的事情婉拒了offer,但也算是成功证明了商科转数据依然可以拿国内顶级互联网公司的offer,下面附一张我一波三折的申请进程
心得体会
关于面试我还想再说几点,我不太建议大家去看面经,不是说面经不好不准确,而是由于每个人简历相差太大了,面试官怎么可能会像考雅思口语一样拿着一本题库去考?都是case by case的问题,即便有朋友幸运,碰到了前人分享的面经,那只是你们的经历有相似的overlap,绝对不能作为你准备面试的技巧。
我在准备阿里面试时,没有看过一份面经,到最后结果出来了我去牛客网上看申请同一个岗位的同学po的面经,有的考了Java多线程,有的考了网络协议,还有的是大数据工具hadoop等。而我被问到的都是机器学习,数据科学方面的(因为我的经历都是这些方面相关的)。
我之所以在这里详细分享我的面经,为的是帮助大家总结数据分析领域重点的考察方向和需要具备的思维,并非是让大家参考每一个细节的问题。
所以最好地准备面试的方法,就是对你写在简历上面的每一个字负责。不夸张地举个例子,在被发起面试邀请的条件下,如果你能把你简历里每一段经历,每一个项目在适当深度下掌握85%以上的知识点,那基本这场面试可以比较顺利地通过。
但实际情况是,很多朋友为了能“凸显”自己的技术能力,经常加一下自己并不是很懂的技术,就像网上流行的一句话“说自己精通PowerPoint的人可能没有什么Point,精通word的人并没有什么word要说,天天用Excel的人却并不比别人Excel”。
尤其是在数据科学这么火的时代,简历都抢着和ML沾点边,就基础并非特别扎实的同学说,多写一个不是那么理解的GBDT得给自己带来多大的麻烦:梯度下降,加法模型,Boosting族的其他算法,或者直接奔着Xgboost和LightGBM去了。所以还是稳扎稳打,对每一处内容都负责,多去博客论坛做些research,很多时候常见面试问题和基础算法的答案都已经被大佬们讲的透透了。
大厂数据岗需要具备的能力
从去年三月到现在投递了四百余个数据方面的岗位,拿到大概十余个面试,因为篇幅有限仅以上面阿里的面试作为展开详述,但是私以为国内大厂DA/DS岗位面试考察的点是有很大很大的共性的,下面详细说一下究竟应该提升什么方面的能力才更有可能拿到大厂的数据岗offer。
Top1. 业务理解能力。
可能很多朋友感觉这种technical的岗位不应该是代码能力或者对ML的理解能力吗??所以大部分人在埋头刷lc或者扎到ML海洋中的时候就出现了只见树木,不见森林的情况。这里的“森林”,我指的就是公司的业务,再精确一点就是你所要进入的项目。DA/DS不是开发不是前后端不是算法,要做的就是如何通过一堆数据,推动项目/效益最大化。抛开业务谈技术对于DA/DS讲就是耍流氓。
Top2. SQL。
大部分DA/DS每天会花大量的时间用于取数和支撑业务模型上面,所以SQL能力尤其重要,不仅要会取数还需要对SQL做复杂数据清洗的语句比较熟悉,毕竟raw data千奇百怪,头真的很大啊。(当然如果有朋友Python的pandas数据处理与清洗用的很溜也没有问题,很多语法和SQL的语法作用有相同之处,上手会很快)
Top3. ML算法的理解。
可能有部分业务型的DA不会真正去model building腾讯有没有java岗位,但还是要去学习一下ML的基本知识和原理以及适用场景,有条件的同学尽量还是把一些简单算法from scratch的写一下,对这个模型的理解会和只知道from sklearn.linear_model import LogisticRegression的人完全不一样的。
指南者项目实战训练营对我的帮助
最后说一下指南者的训练营带给我的帮助和改变吧,之前包括现在我也一直在网上通过一些国外的学习平台学习新的技术,像coursera,datacamp等确实是不错的平台,但是并不适合刚入门数据领域的朋友去学,原因是这些课程大部分比较零散,种类繁杂,知识难度参差不齐,对于刚入门的朋友非常不友好。
一开始我也是听了很多这些网课,最后就是越听越迷糊,方向感很差。之所以不适合初学者,是因为初学者需要首先建立起对于数据分析领域的认知,再慢慢过渡到机器学习领域,参差不齐的网课导致学习的整体感比较差。
最有效率的方式是跟着像指南者的项目实战营这种去一点点建立起对这个领域的认知,并且获得一手项目经验,这样再去听国外那些网课就知道自己还缺什么知识,如何选择适合自己的课程,也更有的放矢的去学习。
在此还是要谢谢之前带我的王老师和李老师,我分别参加过他们的商业分析和机器学习训练营,前者做的是B站的数据分析项目(也就是经常被大厂面试官关注的项目),后者是机器学习的项目(也就是在这个过程中李老师从算法的数学推导层面帮助我理解了十大机器学习算法的细节问题),尤其是机器学习项目中,李老师详细讲了逻辑回归算法如何从极大似然估计角度去解释,梯度下降法的实现原理与推导,L1和L2正则化共性与特性以及如何根据业务场景使用他们,模型调参的技巧与如何根据具体问题确定评价指标并合理的通过学习曲线调参(真的是很有用哇。。。去面过大厂DA的朋友应该会感同身受的)。
直到现在我还和二位老师保持着不错的联系,有一些学习和职业发展的问题也会问问他们的意见,这种教学相长的感觉也确实很好。指南者的项目实战训练营能带给大家的就是一定可以帮你领到一条正确而高效的道路上,之后如何去深入挖掘经历并让其发挥到最大价值就是看每个人的努力程度了。
最后祝愿大家转型成功,offer多多,要相信自己哇!
部分offer截图
▼
学长同款训练营
技能与知识入门,形成思维体系
行业热门项目,加深业务理解
独立项目报告,展示研究与实操能力
(点击查看大图)
▼
扫码咨询项目详情