150道大数据面试题

本次 Chat 的宗旨是让一些没有经历过面试的同学能够通过我列举出的一些面试题,从而将自己的知识点做一个详细的串联。文中不会对某一个知识点展开详细的教学,希望读者能当成一个复习的大纲。

首先我们先来谈一谈什么是大数据。 其实大数据并不是一种概念,可以概括为两个方向,一种是精准化定制开发,另一种是预测。比如现在比较流行的推荐算法等。那么怎么样才能成为技术大牛呢?首先要选对学习的方向,比如现在市场上主流的两种语言 Pyhon 和 Java,如果你有这两门语言的基础,那么在大数据方向会减少很多麻烦。其次要掌握学习的重点,掌握大数据结构,逐步一次学习,并且要经常复习,代码要反复练习,不是今天会了就代表永远都会。

现在我来列举一下面试中常问的问题,部分问题我不会给出答案,请大家根据自己的实际情况酌情回答。首先给大家展示一下一般企业的项目流程大家可以顺着这条路线进行复习。

1. ConcurrentHashMap 是怎么实现的?

答:concurrent 包中线程安全的哈希表,采用分段锁,可以理解为把一个大的 Map 拆分成 N 个小的 HashTable,根据 key.hashCode() 来决定把 key 放到哪个 HashTabl 中。在 ConcurrentHashMap 中,就是把 Map 分成了 N 个 Segment,put 和 get 的时候,都是现根据 key.hashCode() 算出放到哪个 Segment 中。

2. sparksql 和 sparkstreaming 哪个比较熟

答:都还行,SparkSql 的 DataFrame 或者 DataSet 和 SparkS