高精尖面试题(四)

1,你写的所有项目,说一遍

2,MR的执行流程

3,flume扇入扇出

4,kafka 的topic分区设计和consumer有什么关系

每个group中可以有多个consumer,每个consumer属于一个consumer group;
通常情况下,一个group中会包含多个consumer,这样不仅可以提高topic中消息的并发消费能力,而且还能提高”故障容错”性,如果group中的某个consumer失效那么其消费的partitions将会有其他consumer自动接管。
 对于Topic中的一条特定的消息,只会被订阅此Topic的每个group中的其中一个consumer消费,此消息不会发送给一个group的多个consumer;
那么一个group中所有的consumer将会交错的消费整个Topic,每个group中consumer消息消费互相独立,我们可以认为一个group是一个”订阅”者。
 在kafka中,一个partition中的消息只会被group中的一个consumer消费(同一时刻);
一个Topic中的每个partions,只会被一个”订阅者”中的一个consumer消费,不过一个consumer可以同时消费多个partitions中的消息。
 kafka的设计原理决定,对于一个topic,同一个group中不能有多于partitions个数的consumer同时消费,否则将意味着某些consumer将无法得到消息。
kafka只能保证一个partition中的消息被某个consumer消费时是顺序的;事实上,从Topic角度来说,当有多个partitions时,消息仍不是全局有序的。

5,tableau怎么用的。

6,为什么用hbase存储

7,hive的优化

https://www.cnblogs.com/swordfall/p/11037539.html

 

8,hive数据倾斜原因和处理

https://blog.csdn.net/XiaodunLP/article/details/87866350

https://blog.csdn.net/jin6872115/article/details/79878391

spark 数据倾斜

https://blog.csdn.net/Fenggms/article/details/83020683

9,flink了解么

了解一些,Flink核心是一个流式的数据流执行引擎,类似于sparkStreaming,常被说为是第三代流数据处理引擎。但是在工作中没有用过,有自己学习一些。主要有两大类API, 对Streaming数据类应用,提供DataStream API;对批处理类应用,提供DataSet API(支持Java/Scala)

10,数据仓库用过哪些模型,说几个,例如雪花和星型

11,用过哪些算法

12,java线程怎么保证同步

       参考上文多线程内容

13,线程锁的实现方式有几种

14,java  GC回收垃圾说一下

       https://blog.csdn.net/laomo_bible/article/details/83112622

JDK8 默认GC类型: 默认使用的是ParallelGC,对应收集器为:

新生代使用的是:Parallel Scavenge收集器
老年代使用的是:Serial Old收集器,

JDK8新增G1收集器

java -XX:+PrintCommandLineFlags -version

-XX:UseParallelGC 

重点回答内容:JVM组成(堆内存,栈),GC类型,收集器类型,GC过程,GC算法等(详细参考链接)

15,jvm底层怎么玩的

16,手写一个java 的设计模式

       23种设计模式,常见的如单例模式,工厂模式,装饰模式,

总体来说设计模式分为三大类:

1. 创建型

共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

2. 结构型

共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

3. 行为型

共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

17,python熟么,写过项目么

       Web项目写Django项目,爬虫项目Scrapy项目

原文地址:https://www.cnblogs.com/lingboweifu/p/11909782.html