数据类岗位简历优化及面试指南
描述数据类项目:
- 描述数据源
在描述数据源时,将数据具体化。量化结果时,对于模型项目,可以将最后的准确率与随机准确率相比,对于分析项目,可以将最终的提升幅度与项目预期或同期的其他项目相比。
描述 | 改进后 |
---|---|
从大量/海量数据中... | 从300万元的店铺销售额数据中.... |
显著提升 | 3%的转化率提升 |
模型准确率达90% | 模型准确率达90%,与随机准确率45%相比,有了100%的提升;某品牌最终销售额提高3%,与预定的2%相比,有了50%的提升。 |
- 项目实现描述
应从整体的角度来描述,而不是对分析、挖掘的过程展开详细的描述,忽略了迭代的过程。
- 技术点描述
相对于罗列技术,使用以下说法可能效果更好:
使用Python中的sklearn完成XXX 、运用R中的ggplot2完成XX
使用随机森林模型完成订单分类、使用K-Means聚类完成用户的划分
同时,写技术点的细节要适量,否则项目失去重点,过犹不及。在模型部分,不需要把所有模型都写上,如“利用线性回归、逻辑回归、决策树、随机森林等算法完成xxx”
这些具体的技术点是面试重点,因此需要在这方面精心准备
- 项目描述demo
- 通过与xx的沟通,明确项目需求,选取最近X天的x条历史数据进行训练;
- 通过Hive从数据库中提取X个备选变量,利用Python中的XGBoost包进行训练优化,并根据重要性筛选出X个变量;
- 模型上线后,在召回率为X%的基础上,准确率从随即准确率为X%,提升至X%,涨幅达到X%;
- 上线后自动化生成监控报表,并根据变量的重要性,随着时间的变化,进行周期为X天/周/月的迭代过程。
项目丰富途径
- 大厂竞赛 :如阿里巴巴的天池大赛、华为codecraft算法竞赛等
- 自媒体:在各大平台发表技术类文章,形成自己的专栏或成为公众号号主。
面试技巧:
- 提前熟悉业务场景、企业同行情况
数据类岗位准备方向
数据分析: 统计学、机器学习、数据库、业务
数据仓库:数据库
数据倾斜、窗口函数、维护数据字典、L1L2范数、AB测试
面试题汇总
数分:
- 划分连续型随机变量和离散型随机变量的依据
- 常见分布的分布函数/概率密度函数,以及分布的特性,如指数分布的无记忆性
- 随机变量常用特征的解释(期望、方差等)
- 中位数是否等于期望
- 常见分布的特征值
- 如何给没有学过统计学的人解释正态分布
- 列举常用的大数定律及其区别
- 阐述中心极限定理和正态分布的直接关系
- 如何利用编程语言设计实验证明中心极限定理
- 阐述假设检验的原理
- 在假设检验中原假设和备择假设选择的依据
- 阐述假设检验中的两类错误
- 解释P-value、显著性水平、检验效能
- 解释z检验和t检验
- 贝叶斯派统计和频率派统计的区别
- 贝叶斯定理和全概率公式的应用
- 贝叶斯定理解释“三门问题”
数据挖掘:
- 数据集的划分方式,及各种数据集的作用
- 阐述欠拟合和过拟合,解释产生的原因
- 常用的模型分类方法有哪些,如监督/非监督、参数/非参数有哪些
- 模型中参数和超参数的区别
- 线性回归模型对误差所做的假设
- 线性回归模型调优的方法
- 线性回归模型的优缺点
- 逻辑回归和线性回归的异同点
- 逻辑回归中L1、L2正则解释及其区别
- 决策树选择分支的几种方式及其区别
- 随机森林预测结果优于决策树的原因
- 随机森林与GBDT模型的异同点
- 针对预测、二分类、多分类的模型评估方法
- 解释准确率和召回率
- 阐述ROC和AUC的联系
- 简述混淆矩阵
基础知识
统计知识
1. 随机变量
-
概念
随机实验: 在相同条件下对某随机现象进行大量重复观测。
举个栗子,APP给用户发放优惠券,以提升用户活跃度,促进用户消费。用户收到优惠券后是否会使用可以看作随机现象,将所有用户的优惠券使用情况进行汇总,计算优惠券的转化率,可以视为随机试验。
随机变量(X): 描述随机试验的结果,如抛硬币朝上的次数、优惠券的转化率, -
常用特征
数字特征 | 表示 | 描述 | 公式 |
---|---|---|---|
期望 | E(x) | 表示随机变量X的平均水平。将x所对应的随机试验重复多次,随着次数增加,X的均值会趋近于E(x) | |
方差/标准差 | D(x)/Var(x) | 刻画随机变量X的波动大小,方差越大,结果的未执行就越大 | |
协方差/相关系数 |
- 类型
离散型随机变量
连续性随机变量
1.2 离散型随机变量
- 伯努利分布(0-1分布)
- 二项分布(n重伯努利分布)
n个重复独立的伯努利分布(重复独立:每个伯努利分布事件发生的概率均为p;各个试验的结果互相独立,不受其他试验的干扰)
如发放1000张优惠券,可以近似看作1000个互相独立,且每张优惠券被使用的概率为p的伯努利分布所组成的二项分布,最终得到有x张优惠券被使用的概率为:
- 泊松分布
适合描述单位时间/空间内随机事件发生的次数
1.3 连续性随机变量
- 分布函数(累积分布函数CDF cumulative distribution function)
- 均匀分布
即概率密度函数在结果区间内为固定数值的分布
举个例子:
公交车平均30分钟发一班车,乘客每次等车的时间x为5-15分钟的概率为
均匀分布是一种比较特殊的分布,这种完全的随机性分布场景在实际工作中较少碰到,而前面的随机变量的随机性都是基于一些规律的,可能会与均匀分布有些矛盾。
- 正态分布
- 指数分布
描述泊松过程中事件之间的时间的概率分布,即时间以恒定的平均速率连续且独立发生的过程。
面试应对技巧
自我介绍
1 大学时期
例如:我是数据科学与大数据技术出身,在xx大学读的本科,实习中做过....,在校也参与了一些项目设计竞赛并获得奖项。
2 目前的工作,一句话概述
例如:我目前是Java工程师,在微软公司已经从事软件开发工作两年了。
3 毕业后
例如:毕业以后就去了腾讯公司做开发工作。那段经历令我受益匪浅,我学到了许多有关项目模块框架的知识,并且推动了网站和游戏的研发。这实际上表明,应聘者渴望加入一个更具有创业精神的团队。
4 目前的工作,可以详细描述
例如:之后我进入了微软公司工作,主要负责初始系统架构,它具有较好的可扩展性,能够跟得上公司的快速发展步伐,由于表现优秀之后开始独立领导Java开发团队。尽管只管理手下几个人,但我的主要职责是提供技术领导,包括架构、编程
5 兴趣爱好
如果应聘者的兴趣爱好只是比较常见的滑雪、跑步等活动,这会显得比较普通,可以选择一些在技术上的爱好进行说明。这不仅能提升应聘者的实践技能,而且也能展现出应聘者对技术的热爱。例如,在业余时间,我也以博主的身份经常活跃在Java开发者的在线论坛上,和他们进行技术的切磋和沟通。
6 总结
我正在寻找新的工作机会,而贵公司吸引了我的目光,我始终热爱与用户打交道,并且打心底里想在贵公司工作。
巧妙回答面试官的问题
1 回答问题谦虚谨慎
不能让面试官认为自己很自卑、唯唯诺诺或清高自负,而是应该通过回答问题表现出自己自信从容、不卑不亢的一面。例如,当面试官问“你认为你在项目中起到了什么作用”时,如果应聘者回答:“我完成了团队中最难的工作”,此时就会给面试官一种居功自傲的感觉,而如果回答:“我完成了文件系统的构建工作,这个工作被认为是整个项目中最具有挑战性的一部分内容,因为它几乎无法重用以前的框架,需要重新设计”,则显得不仅不傲慢,反而有理有据,更能打动面试官。
2 在回答问题时要适当留有悬念
面试官也有好奇的心理。人们往往对好奇的事情记忆更加深刻。因此,在回答面试官的问题时,记得要说关键点,通过关键点,来吸引面试官的注意力,等待他们继续“刨根问底”。例如,当面试官对应聘者简历中的一个算法问题感兴趣时,应聘者可以回答:我设计的这种查找算法,可以将大部分的时间复杂度从O(n)降低到O(log n),如果您有兴趣,我可以详细给您分析具体的细节。
3 回答尖锐问题时要展现自己的创造能力
例如,当面试官问“如果我现在告诉你,你的面试技巧糟糕透顶,你会怎么反应?”这个问题测试的是应聘者如何应对拒绝,或者是面对批评时不屈不挠的勇气,以及在强压之下保持镇静的能力。关键在于要保持冷静,控制住自己的情绪和思维。如果有可能,了解一下哪些方面应聘者可以进一步提高或改善自己。
推荐回答如下:我是一个专业的工程师,不是一个专业的面试者。如果你告诉我,我的面试技巧很糟糕,那么我会问您,哪些部分我没有表现好,从而让自己在下一场面试中能够改善和提高。我相信您已经面试了成百上千次,我只是一个业余的面试者。同时,我是一个好学生并且相信您的专业判断和建议。因此,我有兴趣了解您给我提的建议,并且有兴趣知道如何提高自己的展示技巧。
如何回答技术性问题
对于技术性问题,完成基本功能是必须的,但还应该考虑更多的内容,以排序算法为例:时间是否高效?空间是否高效?数据量不大时也许没有问题,如果是海量数据呢?如果是网站设计,是否考虑了大规模数据访问的情况?是否需要考虑分布式系统架构?是否考虑了开源框架的使用?
有时候实际代码会比较复杂,上手就写很有可能会漏洞百出、条理混乱,所以,应聘者可以征求面试官同意,在写实际代码前,写一个伪代码。
如何应对自己不会的问题
在面试中遇到不懂或不会回答的问题时,正确的做法是本着实事求是的原则,态度诚恳,告诉面试官不知道答案。例如,“对不起,不好意思,这个问题我回答不出来,我能向您请教吗?”征求面试官的意见时可以说说自己的个人想法,如果面试官同意听了,就将自己的想法说出来,回答时要谦逊有礼,切不可说起来没完。应该虚心地向面试官请教,表现出强烈的学习欲望。
如何向面试官提问
真实的问题就是应聘者很想知道答案的问题。
例如:①在整个团队中,测试人员、开发人员和项目经理的比例是多少?②对于这个职位,除了在公司官网上看到的职位描述,还有什么其他信息可以提供
我了解到你们正在使用XXX技术,想问一下它是怎么来处理Y问题呢?
为什么你们的项目选择使用XX技术而不是YY技术?
我对X技术不是特别了解,您能多给我讲讲它的工作原理吗?