Skip to content

Commit 9e9234f

Browse files
author
xiehuanang
committed
...
1 parent 44d6af0 commit 9e9234f

File tree

1 file changed

+147
-2
lines changed

1 file changed

+147
-2
lines changed

README.md

Lines changed: 147 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,157 @@ Note anything during writing spark or scala python php golang gopher bigdata had
1616

1717
[推荐在豆瓣](recommenddation_in_douban.md)
1818

19-
[大数据面试题](bigdatareview.md)
20-
2119
本系列文档基于`Spark 1.5-Hadoop 2.6`撰写。
2220

2321
如果没有特殊声明,文档中案例在`Cent OS 6.X`系列下为准, 其他操作系统请参考。
2422

23+
![bigdatareview_mindmap.png](http://www.i5life.com:8090/spark-notes/images/bigdatareview_mindmap.png)
24+
25+
# 大数据工程师面试题
26+
## 阅读指南
27+
- 下文的算法和模型两个词经常混用
28+
- 很多技术问题可能没有标准答案,但是需要描述自己的关注点,或自己的理解
29+
- 鼓励表达一些倾向性的观点,或一些基于实践的观点
30+
31+
## Java部分
32+
1. Java内存垃圾收集器是怎么工作的?
33+
2. Java内存分为哪几个区域?相互之间是如何转化地?
34+
3. Java 1.7和1.8有什么改变呢?
35+
4. HashMap和HashTable有什么区别?
36+
5. 请说一下你对Java关键字 `synchronized` 的理解,如果你不懂Java语言的话,也请尝试说说你对 `synchronized` 的理解
37+
6. Java为什么会推出Java `NIO`(New I/O),在 `NIO`中有哪几个核心对象(缓冲区 `Buffer`、通道`Channel`、选择器`Selector`)
38+
7. 如果Java源代码显示调用内存回收,将会发生什么?
39+
8. Windows 32位机器上Java内存具有什么特征?
40+
9. Java项目不进行任何调整,直接从32位机器Java虚拟机迁移到64位机器Java虚拟机,速度会提升吗?
41+
42+
```
43+
在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,
44+
一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,面向流的I/O速度非常慢,
45+
而在Java 1.4中推出了NIO,这是一个面向块的I/O系统,系统以块的方式处理处理,
46+
每一个操作在一步中产生或者消费一个数据库,按块处理要比按字节处理数据快的多。
47+
在NIO中有几个核心对象需要掌握:缓冲区(Buffer)、通道(Channel)、选择器(Selector)。
48+
```
49+
50+
## 大数据部分
51+
1. MongoDB和Hadoop有什么区别?是同类型的产品吗?
52+
2. 如果我告诉你Hadoop已经是大数据领域的事实标准,那么你分析哪几个方面帮助Hadoop成为事实标准呢?
53+
3. 请描述你理解的数据仓库
54+
4. 数据仓库和大数据有什么区别?
55+
5. 数据集市和数据仓库有什么区别?
56+
6. 数据集市一定不可以接受吗?为什么不可以接受?
57+
7. 大数据技术除了Hadoop流派之外,还有哪些流派?
58+
8. Spark和Hadoop的区别?在大数据技术体系中各自扮演什么角色?
59+
9. Spark有哪些组成部分,Spark的架构基础是什么,或基于什么模型构建的?
60+
10. 你知道大数据有哪些数据来源,各自有什么流行的工具?
61+
11. 说说你大数据知识的来源
62+
- 国内流行的大数据书籍
63+
- 希望获得你热衷从官网获取新知
64+
- 观念更新大于知识贮备
65+
- 知识获取大于知识继承(强调外语和自学习能力)
66+
67+
## 数据分析
68+
1. 你了解机器学习吗?
69+
2. 请讲述你了解或熟知的机器学习算法?
70+
3. 数据采集环节经常遇到哪几类问题?说说自己对这几类问题的理解
71+
4. Spark和SPSS的区别?说说各自擅长的领域?
72+
5. Excel可以实现哪些数据分析呢?
73+
6. 你了解R语言,R语言可以完成什么类型的任务?
74+
7. 数据抽样有哪些注意事项?如果我们有30万左右的样本,那么需要抽取多少呢?
75+
8. 数据抽样或统计学实验有哪几个评价指标?请描述一到两个案例来说明评价指标
76+
77+
## 场景分析
78+
1. 说说你对我们公司的理解?
79+
2. 根据你的了解,我们公司的产品具有哪些特征?
80+
3. 我们主要的客户群体是什么?怎么描述我们的客户群体?
81+
4. 如果你作为VP的话,你会怎么细分我们的客户群体?
82+
5. 如果强迫你规划未来18个月的依托大数据技术的产品,你会怎么规划我们的产品线呢?
83+
84+
## 一般项目经历
85+
1. 介绍你过去成功或参与度较高的项目经历,在里面担负的角色
86+
2. 在过去的项目经历中,请描述3个案例来证明你的技术能力很强
87+
3. 在过去的项目经历中,请描述3个应急场景证明你的技术能力很强
88+
4. 如果给你三分钟来介绍自己,那么你愿意介绍自己的哪几个方面的优秀特征呢?
89+
5. 难道仅仅认为自己在技术领域是优秀的?(秒杀技术控,面试官希望看到你的综合能力)
90+
91+
## 大数据项目经历
92+
1. 你曾经参与或主导过哪些大数据类型的项目?项目目标是什么?你具体担负的哪个角色? 使用哪些算法?
93+
2. 使用哪些统计方法?
94+
3. 如果解决用户商品匹配的话,你会采用什么类型的模型? 二部图模型有什么缺陷?对应有什么改进模型?
95+
4. 标签系统有什么特征?有什么问题?
96+
5. 用户行为分析有什么模型?
97+
6. 说说你曾经项目中的模型迭代过程?
98+
7. 成功的大数据项目具有哪些特征?
99+
8. 你认为大数据技术包括哪些组成部分?
100+
9. 你认为大数据项目成功的关键是什么?
101+
10. 大数据和企业内外哪些部门关联比较密切?
102+
11. 你过去项目的SLA包涵哪些指标?
103+
12. 如果你参与到我们的大数据项目中,你愿意设计哪些SLA指标?
104+
13. Web或移动端的时代,我们有哪些数据采集的方法?(如果能够说出来GA最佳)
105+
14. 针对Web或移动端,你认为可以设置哪些观测点?
106+
15. 在原始数据采集的基础上,可以做哪些指标呢?
107+
16. 如果从观察点提取出来50个观测指标,那么你在向高层汇报前你做哪些准备工作呢? (基础指标的基础上,你需要继续抽象,或分解为若干个领域,或绘制曲线)
108+
17. 周日晚上接到高层的电话通知,周一早晨9点半参加一个**重要会议**。该重要会有由公司内外部的重要人士参加。要求你在会议上介绍你主导的大数据项目工作。然后你会做什么?
109+
110+
```
111+
- 有哪些类型的人士参加?如果能够具体到名字最佳?
112+
- 各自的诉求是什么?
113+
- 会议的召集者希望你表达什么?
114+
- 会议分为哪几个阶段?
115+
- 会议室大小?是否有投影设备?是否需要准备纸质件?
116+
- 如果说自己立即去调试系统,或者准备PPT,那么是完败
117+
```
118+
119+
## 语言选择
120+
1. 你熟知哪些开发语言或工具类软件?
121+
2. 你写日记吗?如果不写日记的话,你采用哪些工具或方式来记录自己的知识呢?
122+
3. 你了解PHP、Python吗?说说你对这两门语言的理解
123+
4. 你知道哪些JavaScript前端技术框架?特点是什么?
124+
5. 如果因项目需要,你愿意介绍并且主动学习一门开发语言或工具吗?
125+
6. 说说你曾经快速学习一门开发语言的经历?
126+
127+
## 职业生涯
128+
1. 你愿意成为不参与底层代码的算法专家吗?或模型工程师?
129+
2. 你认为大数据领域有哪些发展方向?五年或十年后你愿意成为哪个角色?
130+
3. 参与大数据项目,你认为哪些是关键干系人?
131+
4. 如果让你领导一个大数据项目,你认为分解为几个阶段?
132+
5. 你怎么向公司高层介绍或请求发起一个大数据项目?
133+
6. 你怎么解决大数据项目和公司现有业务系统的关系?
134+
7. 大数据项目和各种日志分析系统间有什么区别?
135+
8. 你怎么面向公众或无关者,比如记者、你的家人、你的私人朋友介绍你主导的大数据项目?
136+
137+
## 新员工
138+
- 新员工报道第一天,你准备作什么?
139+
140+
```
141+
- 关键词新员工手册,强调过程资产
142+
- 按照新员工手册走完全程
143+
- 确保实现最基本的工作环境
144+
- 总结记录自己遇到的问题,并尝试更新新员工手册
145+
```
146+
147+
- 你怎么规划自己入职第一周的工作?
148+
149+
```
150+
- 谁是你的主管,多数情况下入职前就认识了 和主管一起沟通你的职业规划和工作规划
151+
- 你业务范围内的关联部门?拜访关联部门领导
152+
- 人事、财务、行政 - 你主要的客户群体?或主要的客户?
153+
- 你怎么规划自己入职前3个月的工作?
154+
```
155+
156+
- 如果要求你做为公司的大数据培训讲师,你愿意和受众分享哪三条经验或心得呢?
157+
158+
## 关于修订
159+
上述面试题目,是我作为面试官或求职者而总结的,不足之处,敬请修订。 也可以邮件给我。
160+
161+
提醒读者,直接针对题目的准备是无用的,鼓励对题目背后的领域进行深入的了解。 请正确的方式的来阅读本文。
162+
163+
支持邮箱: [email protected]
164+
165+
```
166+
大数据工程师面试题到此结束
167+
```
168+
169+
# Spark Step by Step
25170
## 幸福生活从Docker开始
26171
在DockerHub搜索Spark `docker search -s 2 spark`
27172

0 commit comments

Comments
 (0)