2 V9 V, Q1 F8 L$ m, `2 [
数据分析师近几年在国内互联网圈越来越火,很多开发都因为薪资和发展前景,希望转行到数据分析岗。今天,我们就来聊聊面试数据分析师的那些事。
5 I- e3 J1 L2 s9 Q9 L 其实,数据分析能力是每个互联网人的必备技能,哪怕你没有转行数据分析师的计划,也推荐你看看这个文章,提升你的数据能力。
5 O( z" b6 Z# e: d8 `! F
% u0 I8 m" i/ C
/ J' c& B& j1 h0 V2 N! }/ Q
打开凤凰新闻,查看更多高清图片
5 J1 O5 I, V( B# d
) R. ^" g6 \) g2 W0 w" F& Y# m 5 ]1 D: [8 e+ Y4 {- I: W& [' b, X
数据分析的能力要求
8 r: k3 H% A* D, B2 [, a& c
与数据分析相关的工作有一个特质,就是对数字非常敏感,同时也要求对数据具有良好的思考能力,比如说如何用数据指导业务,如何将数据呈现在报告中。
- _7 A3 F0 p8 z+ V. ^
在面试的时候,面试官通常会考察以下三个维度的能力:
1 E) L1 R( e7 C' }7 m# }
1. 理论知识(概率统计、概率分析等)
/ i( k. z/ H* C* v. n 掌握与数据分析相关的算法是算法工程师必备的能力,如果你面试的是和算法相关的工作,那么面试官一定会问你和算法相关的问题。比如常用的数据挖掘算法都有哪些,EM 算法和 K-Means 算法的区别和相同之处有哪些等。
" H l+ T, @: x* E) r7 ?! V+ h 有些分析师的工作还需要有一定的数学基础,比如概率论与数理统计,最优化原理等。这些知识在算法优化中会用到。
/ M/ ?/ w- |# A* U- e 除此以外,一些数据工程师的工作更偏向于前期的数据预处理,比如 ETL 工程师。这个职位考察你对数据清洗、数据集成的能力。虽然它们不是数据分析的“炼金”环节,却在数据分析过程中占了 80% 的时间。
# v/ _: ?: K) c, G$ S2 l9 S
2. 具体工具(sklearn、Python、Numpy、Pandas 等)
" F/ Y' R% G, I! l; l 工程师一定需要掌握工具,你通常可以从 JD 中了解一家公司采用的工具有哪些。如果你做的是和算法相关的工作,最好还是掌握一门语言,Python 语言最适合不过,还需要对 Python 的工具,比如 Numpy、Pandas、sklearn 有一定的了解。
* [! T3 b& M* s+ ?
数据 ETL 工程师还需要掌握 ETL 工具,比如 Kettle。
5 K8 Z' F9 r7 E' t$ C! M1 m$ W8 `
如果是数据可视化工作,需要掌握数据可视化工具,比如 Python 可视化,Tableau 等。
& Q9 C1 ]' |$ l 如果工作和数据采集相关,你也需要掌握数据采集工具,比如 Python 爬虫、八爪鱼。
/ N0 q* I( W2 q; L3 _
3. 业务能力(数据思维)
! U' Q$ I' c# _8 P% f# ~$ ^ 数据分析的本质是要对业务有帮助。因此数据分析有一个很重要的知识点就是用户画像。
f$ r' z$ B2 M0 m 用户画像是企业业务中用到比较多的场景,对于数据分析来说,就是对数据进行标签化,实际上这是一种抽象能力。
6 j8 |1 G( G5 n

" @ R0 b) u9 k; y 题 目
5 @+ m) x6 L; v1 D+ p1 V' ]
作为实力检测的一部分,笔试是非常重要的一个环节。它可以直接测验你对数据分析具体理论的掌握程度和动手操作的能力。以下是几道简单的题,你不妨来看下。
( T# X# c7 o, e0 @/ j3 e 问答题
( ~& e) G" ~. v6 ^ 1. 用一种编程语言,实现 1+2+3+4+5+…+100。
% ^! Q8 V: v7 w 这道题考察的就是语言基础,你可以用自己熟悉的语言完成这道题,比如 Python、Java、PHP、C++ 等。这里我用 Python 举例:
* k- y+ A7 P" q4 r
sum = 0
6 |4 Q" @/ e _; w
for number in range(1,101):
6 _9 @3 u) q" H: \4 \, f, W
sum = sum + number
# p% R" O% m( k2 ^; c8 u: J print(sum)
* F, }9 }* C9 `. r
2. 如何理解过拟合?
1 O( r, y4 u- S* E% U 过拟合和欠拟合一样,都是数据挖掘的基本概念。过拟合指的就是数据训练得太好,在实际的测试环境中可能会产生错误,所以适当的剪枝对数据挖掘算法来说也是很重要的。
' @; G: n( w! f2 J; u1 ]: u; A* h. U2 z2 [ 欠拟合则是指机器学习得不充分,数据样本太少,不足以让机器形成自我认知。
9 `4 H9 F2 d% Z; ]8 P8 z
3. 为什么说朴素贝叶斯是“朴素”的?
. D4 s0 E$ s/ g4 G! v5 A
朴素贝叶斯是一种简单但极为强大的预测建模算法。之所以称为朴素贝叶斯,是因为它假设每个输入变量是独立的。这是一个强硬的假设,实际情况并不一定,但是这项技术对于绝大部分的复杂问题仍然非常有效。
: {0 D" X/ Q% b Q! m, _- \ 4. SVM 最重要的思想是什么?
# y% ?' F+ O4 S; o2 J% Z' U D
SVM 计算的过程就是帮我们找到超平面的过程,它有个核心的概念叫:分类间隔。SVM 的目标就是找出所有分类间隔中最大的那个值对应的超平面。在数学上,这是一个凸优化问题。同样我们根据数据是否线性可分,把 SVM 分成硬间隔 SVM、软间隔 SVM 和非线性 SVM。
' y( O" D% q$ S9 Q/ H; | T( L 5. K-Means 和 KNN 算法的区别是什么?
+ \% g+ [( C) F4 B7 |8 b6 ` 首先,这两个算法解决的是数据挖掘中的两类问题。K-Means是聚类算法,KNN是分类算法。其次,这两个算法分别是两种不同的学习方式。K-Means是非监督学习,也就是不需要事先给出分类标签,而KNN是有监督学习,需要我们给出训练数据的分类标识。最后,K值的含义不同。K-Means中的K值代表K类。KNN中的K值代表K个最接近的邻居。
/ m* d. o+ y, r
动手题
$ n( o" S# ]$ J: b9 _3 w
1. 我给你一组数据,如果要你做数据清洗,你会怎么做?
8 i# y7 Y( Q# _) \: l( _3 K: G 
/ V# {: j9 Q4 ?: P 实际上,这一道题中,面试官考核的是基本的数据清洗的准则,数据清洗是数据分析必不可少的重要环节。你可能看到这个数据存在 2 个问题:典韦出现了 2 次,张飞的数学成绩缺失。
E2 N! b( g1 T6 j4 O 针对重复行,你需要删掉其中的一行。针对数据缺失,你可以将张飞的数学成绩补足。
! Y2 V* s: T1 q6 t5 E n. I
2. 豆瓣电影数据集关联规则挖掘
7 p5 \, P9 V/ ~2 h* q( R( X
在数据分析领域,有一个很经典的案例,那就是“啤酒 + 尿布”的故事。它实际上体现的就是数据分析中的关联规则挖掘。不少公司会对这一算法进行不同花样的考察,但万变不离其宗。
f- ~' `, l& k# P. [8 I
如果让你用 Apriori 算法,分析电影数据集中的导演和演员信息,从而发现两者之间的频繁项集及关联规则,你会怎么做?
) `! e; J! y* g0 L" \, S 以上就是有关数据分析面试笔试的一些内容,你或许可以感受到数据分析师这个岗位的特殊性。面试找工作虽说不是一朝一夕就可以完成的事情,但希望此篇能帮到你。
1 g: n: d) S( Y
了解IT相关内容,各平台同名“职坐标在线”
* }+ d3 [1 t* ?7 @" O2 ^