1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00
2020-08-07 16:09:15 +08:00

66 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

先说一下自己的经历,大学的时候我从大二开始学习 Java ,然后学了大半年多的安卓。之后就开始学习 Java 后台,学习完 Java 后台一些常用的知识比如 Java基础、Spring、MyBatis等等之后。因为感觉大数据领域发展也挺不错的所以就接触了一些大数据方面的知识比如当时大数据领域的霸主 Hadoop 。
> 我当时学习了很多比较古老的技术比如现在基本不会用的 JSP、Struts2等等。另外
所以我当时在找工作之间也纠结过自己到底是投大数据岗位还是Java后台开发岗位。
主要纠结点如下:
1. **薪资:** 大数据当时的薪资水平高于 Java 后台开发很多;
2. **前景:** 我个人感觉大数据岗位的发展前景很好;
3. **个人偏见:** 感觉大数据开发比 Java后台开发听着高大上点哈哈当时的我就是这么真实
不过在我分析了大部分公司的大数据岗位的要求以及自身的优势Java后台开发的实际经验之后还是义无反顾的只投递 Java 后台开发岗位。
先来看一下几家典型的互联网公司对大数据工程师的要求(我找的都是允许应届毕业生投递的岗位):
**SHEIN**
> 很多人可以不了解这家低调的公司,主要原因是因为 SHEIN目前的主要业务是出口跨境电商用户基本集中在海外。SHEIN 这些年的发展非常不错,总的来说是一家值得去的公司。
![SHEIN Big Data](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/shein-bigdata.jpg)
SHEIN 的大数据岗位的要求写的还是比较有代代表性的!但是我觉得加上:**有扎实的Java基础、熟悉多线程与JVM相关原理** 这一条可能会更好!
一家公司可能并不具有代表性,我们再来找一家公司的大数据岗位看看。
**Alibaba**
![Alibaba Big Data](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/alibaba-bigdata.jpg)
说明一下,阿里巴巴大的大数据开发岗位的描述其实挺友好的比如这样描述:
> “如果你有参与过数据处理、分析、挖掘等相关项目更好”、“如果你对Hadoop、Hive、Hbase等分布式平台有一定的理解更好”。
实际是这样吗nonono!我信你个鬼,你个糟老头子坏的很!毕竟这么多人竞争这一个岗位,不会像描述的这么简单。
如果你对 HDFS、HBase、Hadoop 甚至是 Elasticsearch这些不了解的话还是会很难入场。
**总结一下(偏大厂)大数据岗位的对于应届生的基本要求(社招的其实也差不多,对于经验要求会更高):**
1. **算法和数据结构是最基本的(比如手写快排、手撕红黑树)。**
2. **有扎实的Java基础、熟悉多线程与JVM相关原理。**
3. **熟练使用 Linux ,熟悉一门脚本语言 shell 或者 Python**
4. 熟悉Hadoop架构和工作原理、MapReduce编程、HDFS熟悉Hive,最好有HQL优化经验
5. **熟练掌握 Spark 及 Spark Streaming开发有实际项目研发经验更佳**
6. 熟悉 Elasticsearch、Kafka等技术会是加分项
7. ......
所以,总的来说不论是对于 **Java 后台开发还是大数据开发都会要求你的数据结构和算法 Java 基础、多线程、jvm 底层这些掌握的要很好。** 很多人 Java 后台的人转大数据开发很快的原因也是在这里。
正常一点的大数据面试还是比较有难度的,比如如果你写了你会 Spark 的话,他就会问题你:
1. 什么场景下用的Spark ?解决了什么问题?
2. Spark 执行机制了解吗?
3. Spark 内存模型了解吗?
4. ......
另外,如果你的简历上写了你会 Spring 这些东西的话,面试官应该也会一并提问。可以看出现在的大数据岗位没有强制性要求你有 web 开发经验,在我那一年的时候,大部分大数据开发岗位都要求你还要有 web 开发经验。