第一次写面经,虽然面得不咋地,还是记录一下吧。
首先介绍一下自己,这里每个人都不一样,就不详细说了。
这里开始正式提问,HBase怎么处理热点问题,应该就是预分区和设计rowkey吧,然后问了一下项目中怎么设计rowkey。
Kafka搭建过程要配置什么参数,我去,这都问。。。。完全没复习,只说了个要配置zookeeper地址,面试官好像不满意,还被反怼了一波。
再问了一下0拷贝技术,这个又没细看,这是模棱两可地回答了,感觉凉凉。然后又问了一下内核态与用户态的区别。
后面问题的就稍微答得好一点了,依次是:
Kafka的消费者与消费者组有什么区别,多个消费者组消费用一个主题有什么区别。
Flume的channel有哪些。
Hadoop有哪些组件。
Zookeeper节点设置数量怎么设置比较好,要设置单数个,因为半数机制。
搭建这些大数据框架过程有没遇到什么困难,做项目的过程有没什么困难,看来遇到的坑也要好好整理。
接下来就是聊一下java方面的东西,也比较基础,
主要问了多线程并发相关的内容,如ReentrantLock(忘了当时问了什么,因为最近看了一下他的源码,所以把他源码过程讲了一下,不过中途被叫停了)
还有ReentrantLock的Condition、阻塞队列、让你自己来怎么实现一个阻塞队列(就是用Condition来写生产者与消费者就好了)
然后又问了个不知道什么,听都没听过,可能还有一些问题没想起来。
手撕代码也没写什么算法题,就写了个双重检验锁的单例模式,顺便问了一下volatile关键字有什么用。
然后就是写一个SQL,难度一般,需要写子查询的,有一个难点就是在排完序后要给出排名,即新增一列为1/2/3.。。。我用了hive的rank()函数,mysql好像没有这个函数。。
总的来说还是太菜了,看来要把各个框架的搭建过程都要过一遍,整理一下搭建过程遇到的坑,虽然已经忘了。
全部评论
(7) 回帖