【星环3面已OC】大数据后端开发

前言

星环感觉整个流程非常不错,二面面试官不是搞大数据的,但是交流上感觉到了尊重,面试实在7月份,八月份就给意向了,进展到十月份了对比看来星环流程真的不错(PDD推荐组某个面试官一生黑),看到大数据后端已经不招人了,但是可能会拒掉

一面

忘记了没有记录

二面

1.1. HBASE架构

1.2. Regionserver结构

1.3. Hbase避免热点数据(Rowkey的设计)

[大白话彻底讲透 HBase Rowkey 设计和实现! - 腾讯云开发者社区-腾讯云 (tencent.com)](https://cloud.tencent.com/developer/article/1786752#:~:text=HBase 中的行是按照 Rowkey,的字典顺序排序的,这种设计优化了 scan 操作,可以将相关的行以及会被一起读取的行存取在临近位置,便于 scan。)

我谈到HBASE预分区了,预分区的步骤:1.先确定rowkey范围(现在和未来),2.根据rowkey预先分区。在第一部就需要设计rowkey就会有解决热点数据的问题

1.4. 深入问了Hbase预分区(离散key怎么预分区)

这里不太理解面试官的问题,我本身把HBAS忘光了,就在这结束了

2.1 Kafka Producer Batch

在新建ProducerBatch时需要评估这条消息的大小是否超过batch.size,如果不超过,就以batch.size的大小来创建这个ProducerBatch,这样在使用完后还可以通过BufferPool的管理进行复用。若果超过,则以消息的大小来创建ProducerBatch,此内存区域不会被复用。

  • pool:32M
  • batchsize:16K

2.2 聊到 producer端 sender线程里的InFlightRequests

这里没讲清楚,其实Sender线程发送的时候就指定了ACK。。。。。

2.3 怎么提高Kafka消息发送的吞吐量

  1. batch size 加大,增加一次发送消息的大小
  2. buffer memeory 加大,防止sender阻塞
  3. compression.type,降低了消息的size,也能增加一次发送消息的数量
  4. 超时时间设置短一点

2.4 kafka partition 分区策略/过程

一开始我说的controller,后来记混了说到consumer端的Coordinator了

Apache-Kafka 核心组件和流程-控制器 (qq.com)

2.5 kafka 3.0 raft协议竞选 controller

聊了一下ZAB和raft对比,面试官也刚看了raft论文,所以raft应该重点去研究一下

3.1 I/O(异步IO非阻塞与阻塞概念?)

卡到异步非阻塞IO?不知道面试官聊的异步IO是什么?

3.2 使用I/O资源有什么需要注意的点

答案是要关闭(我吐了,我想得很复杂,就这?),顺口说了一句可能我coding比较少,居然没有想起这个概念,然后这句话被它记下来了,可恶。

3.3 I/O不关闭会出现什么问题

JVM的GC不会帮助释放I/O这类的操作系统资源,对于系统I/O资源一般需要手动去请求操作系统关闭。

3.4 tcp四次挥手流程+问标记位记没记

直接摆烂说只记了主要流程

4.1 二叉树层次逆序遍历

最后估计面试官把DFS和BFS搞混了,我们说的牛头不对马嘴

5.1 Java队列,问HashMap

我说我只看了concurrentHashMap,面试官问了HashMap扩容,我说我能说concurrentHashMap的扩容吗,说完之后,面试官说很不一样

星环3面

介绍一个印象最深的项目(高频,按start逻辑描述)

HDFS写文件流程

我没说完整,client在写完所有block时,会close掉这个输出流,NN会把该文件标记为可用状态,这时候整个写入流程才结束,没有close()直接被3面面试官抓住了啊。

Java垃圾回收机制

没讲清楚ZGC的并发标记与并发回收,ZGC的流程应该重点看一看,为什么会有短暂停顿,不熟练!

JVM调优、解决频繁Full的方法、解决热点代码耗时方法

直接给干趴下,JVM调优内容,细到问什么工具,我直接摆烂不会

IDEA写求二叉树最大深度

递归写完了,非递归脑子宕机了,没写出来

Flink如何实现 Exactly-once(实时数仓如何保证这个语义)

这里没讲清楚,我讲知识点一直有个心里假设怕对方知道不想讲很多细节,但是面试就是要细节,所有要做到事无巨细

  1. Flink与Kafka如何实现Exactly-once:通过 基于ck的两阶段提交协议 与 Kafka事务 来保证不同存储层之间传输的 Exactly-once
  2. Flink与OLAP直接一般是通过下游的幂等性+At-least-Once来提供Exactly-once(事务也可以,但是实时性会受影响)

怎么处理小文件问题

回答方式:如何预防小文件 与 如何处理小文 小文件是热点面试题,我用Flink-Hudi小文件产生的原因与避免方式去讲解了。面试官的点应该是如何处理小文件,是小文件已经产生后的处理策略。

  • Hive ORC表可以合并分区里的小文件
  • Hive知道reducer数量覆盖旧表也可以减少小文件
  • parquet文件也有工具合并

数据倾斜遇到过吗?怎么解决?

我直接说我没遇到过,然后谈谈了谈常见的解决方案,但是回答逻辑有问题 分Groupby 与 join

  1. 引擎自带的解决方案
  2. 用户解决方案

20G int数据 内存2G,找出重复的数据

全部评论
想问下,三面后多久HR面的啊
1 回复 分享
发布于 2022-10-10 10:22 浙江
干货满满,兄弟给你点赞👍
1 回复 分享
发布于 2022-10-09 11:25 吉林
感谢楼主分享,满满的干货啊
点赞 回复 分享
发布于 2022-10-02 09:43 山西

相关推荐

10-19 10:28
已编辑
西南石油大学 后端工程师
团孝子已上线feeling:面了很多家公司,能感受到目前只有小公司+外包喜欢问八股。大厂虽然也问八股,但是是从实习、项目中进行提问,并且大厂会问很深,面试官也会对你的回答进行思考➕追问,所以准备大厂面试前一定要备好相关资料。对于算法,我做的是codetop前100+力扣hot100+力扣高频150,面试中实感hot100就足够,基本上只要是hot100就秒答。对于项目和八股,我做的也是烂大街的星球项目,八股则是看小林和问ai,自己也写了很多技术博客和画了很多思维导图,并且自己也尝试用嘴巴说出来,不只停留于纸面。运气也很重要,必须要让面试官/HR看到简历才行,所以建议投递时间是下午两点。tl:第一岗位9.9 投递9.10 一面(一面评价:最近见过最强的大三,结束五分钟后约二面,都晚上九点了不下班吗)9.11 二面(三道算法a出两道,反问评价:经验不够等横向,我实习生要啥经验)9.21挂(实习时间过短+其他原因,想要一年实习的,为什么不招个正职)第二岗位10.10投递10.11约面(主管打电话,说看到我之前投递记录了想要我挂qa职进去干后端,同意)10.14 一面(无八股,主动说确实很强,意愿很强)10.16 oc其余,友邦,东软,东华,惠择,用友oc已拒京东测开一面挂(投后端被测开捞)腾讯测试已拒(投后端被测开捞)ps:表扬惠择的主管面,没怎么问技术(可能是一面面试官沟通过了),全程一起讲大道理,解答了心中很多疑惑,也告诉我以面试官角度来看怎么选候选人,如果可以下次一定选惠择
HeaoDng:美团好像可以触发一面通
点赞 评论 收藏
分享
给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
评论
8
61
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务