好像是流媒体的部门,一个下午面了三面技术,感觉还行,大概分享一下还记得的一些题吧。
一面(40min)
自我介绍
Spark任务调度(源码)
Kafka基本原理说一下(生产消费模型,存储,Leader选举,ISR,反正想到啥就说啥了)
Consumer Group中Consumer和Partition的对应关系(Range和RoundRobin)
Kafka支持什么语义(三种语义),怎么实现Exactly Once
Spark Streaming和Flink的区别(说部门主要用Flink,奈何我没怎么用过)
Scala的模式匹配和Java有什么区别
用Kafka的过程中有过什么问题,怎么解决
实习做了什么
撕代码:
- 有序链表合并
- n*m的带有数字的矩阵,从左上角走到右下角,问最短的路径上经过的数字的和是多少?(dp)
二面(1h20min)
自我介绍
Java多线程了解吗?写个生产者消费者模型吧(wtf?上来就搞这个)
写完讲了讲
线程池熟悉是吧?写个线程池(??还好我看过源码)
写完问怎么改进让它支持切换到SHUTDOWN状态?因为我只是参考了源码实现了一个能提交任务的简单线程池,没考虑别的,要改进的话有点麻烦,就大概说了下思路,也不知道对不对。
Java线程同步啥的,不太记得了。
Flink了解吗,基本的概念说一下
撕算法:给一个不带分隔符的IP字符串,要给出所有的可能的IP地址,返回一个List(懵逼,用回溯写了个大概)。
也没让我问问题就匆匆结束了
三面(40min)
自我介绍
实习做了什么
Kafka基本原理说一下,和其他的MQ相比的优势
Kafka 消费者怎么从Kafka取数据的
消费者怎么保证ExactlyOnce(感觉跟前两面的问题的有点重复)
Kafka消费者怎么保证有序性
Kafka生产者怎么保证不丢不重复(幂等)
Kafka生产者写入怎么保证有序
撕算法:两字符串最长公共子串(一开始是别的题,我没太搞懂他什么意思,就换这个了,反正dp做呗)
差不多就这样结束,三面面试官赶着开会,就匆匆结束了。
全部评论
(10) 回帖