1、请介绍下您的大数据从业经历

1.1 目的

考察应变和总结归纳能力,没有标准答案。


1.1 答案

建议用比较有条理的话语来概括自己的大数据从业经历,切忌不能啰嗦,例如:

我从事大数据的工作一共有5年,大致分为2个阶段:

1、前两年在一家2B公司从事大数据开发工作

2、后三年转到互联网电商领域从事大数据高级开发工作,期间晋升为架构师

请大家按照自己的实际情况来概括,如果工作经验不足,1条即可,如果一直是大数据开发没有晋升,可以从工业的层面来体现变化、体现你的进步,例如从电信行业到互联网行业,学会把一件普通的事情通过适当的语言包装的高大上一些。

2、您公司的大数据架构

2.1 目的

考察是不是真的有大数据经验,归纳概括能力如何,能不能把架构说清楚,无标准答案。

2.1 答案

如果从业经验比较丰富,可以把比较有代表性的两家公司的大数据架构拿出来说一说,条件允许可以现场画出来,边画边富有感染力的讲出来。

如果确实大数据经验不足,就拿我们课堂上讲的实时数仓的架构来讲,图画出来,说清楚即可,记不住的,不会画的自己多画几遍,对于老师给的架构图上不是太明白的技术可以自己适当删减。

如果你感觉面试官技术很牛逼,问的比较深,你就不要说太多,架构说清楚点到为止,如果感觉他也不是特明白,你就可以说的多一些,让他懵逼。

对于既关心离线架构,又关心实时架构的面试官,你可以分开来阐述,告诉他以前是离线,现在已经逐步替换到离线加实时并行,对于实时性要求不高的需求走离线以节约成本。

3、最近在研究什么技术

3.1 目的

其实是在考察你是否爱钻研,没有标准答案。

3.1 答案

建议:建议大家网上找找Hudi、 Clickhouse的贴子看一下,知道一个大概,能说几句就好,面试官如果非要问的很细,你可以说刚开始研究,不会有什么大问题。切记支支吾吾,或者以工作忙为借口说没有研究。

4、你们的团队组成和分工

4.1 目的

不同情况,考察目的不一样。如果面试的是普通大数据开发岗位,本问题主要是看你有没有说实话,判断有没有真是的大数据工作经验,如果支支吾吾,或者前后回答牛头不对马嘴立马就让面试官觉得没有实际工作经验。如果面试的是大数据架构师, leader,负责人,总监,主要是考察你有没有带过团队,团队是如何分工的。

4.1 答案

针对不同的企业规模,团队组成、规模、分工不一样。

小型公司(3人左右):组员1人,剩余组员无明确分工,并且可能兼顾 javaEE 和前端。

中小型公司(3~6人左右):组员1人,离线2人左右,实时1人左右(离线一般多于实时),组员兼顾和javaEE、前端。

中型公司(5~10人左右):组员1人,离线3~5人左右(离线处理、数仓),实时2人左右,组员和技术大牛兼顾和javaEE、前端。

中大型公司(5~20人左右):组员1人,离线 5~10人(离线处理、数仓),实时5人左右,JavaEE1人左右(负责对接 JavaEE 业务),前端1人(有或者没有⼈单独负责前端)。(发展比较良好的中大型公司可能大数据部已经细化拆分,分成多个大数据组,分别负责不同业务)


上面只是参考配置,因为公司之间差异很大,因此根据所选公司规模确定一个合理范围,在面试前提前将之前公司的人员配置想清楚,话术对好,回答时要自信。

5、请介绍下您如何做服务器选型以及您公司的集群规模 

5.1 目的

考察是否具有实际的项目经验,服务器配置说的离谱、集群规模明显跟公司的业务和数据量相悖一定是造假的工作经验。

5.1 答案

服务器使用物理机还是云主机?

1)机器成本考虑:

( 1)物理机:以 128G 内存, 20 核物理 CPU, 40 线程, 8THDD 和 2TSSD 硬盘,单台 报价 4W 出头,惠普品牌。需考虑托管服务器费用。一般物理机寿命 5 年左右。
( 2)云主机,以阿里云为例,差不多相同配置,每年 5W


2)运维成本考虑:

( 1)物理机:需要有专业的运维人员
( 2)云主机:很多运维工作都由阿里云已经完成,运维相对较轻松


无标准答案,根据自己公司的实际情况来选择,如果公司处于起步阶段,可以采用云主机。

集群规模这里以100万用户为例给大家一些模板,大家按照自己公司用户的规模类推不至于太离谱,能够自圆其说即可:

1) 用户行为数据(埋点采集的log, Nginx日志)

(1)每天日活跃用户100万,每人一天平均100条:100万*100条=10000万条
(2)每条日志1K左右,每天1亿条:100000000 / 1024 / 1024 = 约100G
(3)数仓ODS层采用LZO+parquet存储:100g压缩为10g左右
(4)数仓DWD层采用LZO+parquet存储:10g左右
(5)数仓DWS层轻度聚合存储(为了快速运算,不压缩):50g左右
(6)数仓ADS层数据量很小:忽略不计
(7)保存3副本:70g*3=210g *
(8)半年内不扩容服务器来算:210g*180天=约37T
(9)预留20%~30%Buf=37T/0.7=53T


2) Kafka中数据

(1)每天约100G数据*副本(2) =200g
(2)保存7天*200g=1400g
(3)预留30%buf=1400g/0.7=2000g=约2T


3) 业务数据(从MySQL采集)

(1)每天活跃用户100万,每天下单的用户10万,每人每天产的业务数据10条,每条日志1k左右:
10万10条1k=1g左右
(2)数仓四层存储:1g*3=3g
(3)保存3副本:3g*3=9g
(4)半年内不扩容服务器来算:9g*180天=约1.6T
(5)预留20%~30%Buf=1.6T/0.7=2T


4)半年数据大约是:

53T+2T+2T=57T


5)保存半年数据所需集群规模:

100万用户,半年约60T数据,约8台数据节点,每台10T容量(实际可用不到10T)大家可以自己适当夸张下,比如300万用户,保存3年,自行类推。

6、基础架构选型 

6.1 目的

主要是考虑架构师的一些独立思考能力。

7、您在哪个公司的数据规模最大有多大量

7.1 目的

辨别项目经验真假。

8、容量规划

8.1 目的

辨别项目经验真假。

9、数仓分层架构

9.1 目的

考察数仓架构。

10、您熟悉常见机器学习算法吗?

10.1 目的

考察是否具有算法能力。

 

 因内容太多,后面面试题答案扫下面微信领取

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐