1.问了我项目的问题,spark整合kafka这阶段做了什么事?
答:jdbc工具类向mysql表中插入数据,产生binlog日志文件,maxwell捕获到,kafka进行消费,然后javaapi上面编写kafka工具类,获取主题,编写配置信息,get到消费的内容,是JSON格式,转换json格式为row,然后转换为dataframe表,使用sparksql处理。
2.kafka的acks值有了解吗,给我讲一讲?
答:指定分区副本,控制消息可靠性。
追问,acks值可以取哪些,分别代表什么?
答:0:生产者不等待分区确认,消息到达kafka便会认为消息已经发送成功,低延迟,但是安全性最低。
1:生产者等待分区副本leader确认收到消息,才会认为发送消息成功,有一定的可靠性。
all(-1):生产者等待所有分区副本都确认收到消息,才会认为发送消息成功,可靠性最高,但同时延迟也最高。
3.看到简历中项目用到了phoenix,问一下phoenix的索引上限是多少?
答:根据hbase的表的设计有关,受hbase表的列族、列的数量和Region数量影响。
4.phoenix怎么实现二级索引?
答:先创建一个初始phoenix表,这个表是需要添加二级索引的表,里面包含数据,然后创建需要储存二级索引的表,需要指定包含的列以及索引的名称,然后将数据插入到初始表便可使用二级索引了。
5.hbase的处理器你有了解过吗?可以讲一讲
答:有协处理器。
追问,协处理器的触发点在哪里?
答:hbase的一些操作上,如:Put、Get、Scan、Delete。
6.hdfs的读写过程。
答:(介绍了一下client、namenode、datanode、容器,然后围绕这几个答具体流程)。
7.你的虚拟机是自己搭建的吗,用的是开源的吗?
答:是自己搭建的,(是不是开源我自己不太了解这个)是开源的。
8.虚拟机上hive安装了哪些引擎?
答:就安装了一个可以编写指令的最基础的hive。
9.zk的选举过程。
答:集群的机器拥有自己唯一的myid,根据myid大小来选举leader(这个有点不太熟悉了,答得很简单)。
10.举例说明哪些地方用到了zk?
答:namenode高可用(HA),当active namenode挂掉后,ZKFC进程监视到之后就会传达命令给zk,将standby namenode切换为active状态。
11.还有哪些,了解过zk在hive中的作用吗?
答:这个不太熟悉,答不上来。
12.那zk在hbase中的作用呢?
答:hbase中主节点Master的选举,集群一些组件状态的管理,元数据的存储信息。
13.说一下java的一些结合类。
答:List,Set,Map,Queue等等。
14.说一下他们的区别。
答:(分别讲述了他们的作用和特点)。
15.线程安全用到了哪些?
答:ArrayList和HashMap。
16.ArrayList不是的,hashmap有,有了解过ConcurrentHashMap吗?介绍一下
答:一个线程安全的hash表实现,提供了高并发的访问能力,可以被多个线程同时使用,不需要额外的同步操作。
17.介绍一下hashmap。
答:(没答上来,但面试完之后就反应过来了,基于hash表的键值对无序存储)泪目。
18.手撕题目,在力扣上面自己选了一道中等难度的sql和中等难度的算法题,好在测试都通过了。
19.面试问题问完,给我介绍公司的情况,入职后需要做的事情,跟的团队,说目前公司的框架比较成熟,说了一些公司的优点,然后就是薪资情况,问了我多久可以到岗(一周以内)。
20.反问
1)需要国庆节之前到岗吗?(不需要。不必要这么折腾,国庆节之后到就行,大概7、8、9号这段时间。)
2)通知大概什么时候给?(下周一(22号星期五面的)吧,下周一会给通知。)
面试结束,礼貌语,面试官挂断腾讯会议。
整个过程1h13min,友友们看看这情况怎么样啊,有大概率能通过吗?
#大数据开发面经#