腾讯(后端)面经
一面
1、自我介绍
2、介绍项目
3、Kafaka的版本号,如何保证数据不丢失、不重复(唯一标识及存在哪里)
4、Kafka的架构、特点,相比其他框架有什么优势
5、SparkStreaming如何消费kafak数据的,如何保证不重复消费
6、Hbase架构,读写流程
7、Hdfs读写流程
8、Mapreduce和Spark shuffle的区别
9、Hbase设计Rowkey的规则
10、SparkStreaming与StructedStreaming的区别
11、Spark版本号、调优(如何解决数据倾斜)、Spark配置参数
12、介绍Flink及其版本号
13、课程表
现在你总共有n门课需要选,记为0到n-1。
在选修某些课程之前需要一些先修课程。例如,想要学习课程0,你需要先完成课程1,我们用一个匹配来表示他们:[0,1]
给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?
示例1:
输入:2, [[1,0]]
输出:true
解释:总共有2门课程。学习课程1之前,你需要完成课程0。所以这是可能的。
示例2:
输入:2, [[1,0],[0,1]]
输出:false
解释:总共有2门课程。学习课程1之前,你需要先完成课程0;并且学习课程0之前,你还应先完成课程1。这是不可能的。