一、嘀嗒一面
数据开发组、数据分析组、数据应用组 数据开发内容:1、偏数仓建设,大的topic量可以达到十万级别,2、数据中台:日志采集,离线一条,实时一条,质量监控,抽象成模块,组成DAG图,常用逻辑封装平台化,数据中台应用
- kafka的ack机制:一次响应?
- kafka线上实操:kafka的6个分区,扩展成20个分区
- 消费kafka是怎么消费的,用原生代码还是写flink程序,kafka扩容之后,下游消费的程序要不要修改,topic的partition增加,要怎么修改;
- flink任务启动,如果启动失败,要怎么办,比如输入量增大,上游scamper有一个变动,或者出现其它情况,任务挂了,怎么保证消费正常启动,数据不丢失,offset保存在哪里?
- es:es模板的概念,template,
- es的响应速度是什么级别,比如小于10ms,
- es响应常用api,监控响应有哪些
- es的囊变,一个es集群分裂成两个es集群,
- 项目的价值,业务上的价值,
二、货拉拉一面
- flink的理解,
- 监控指标,实例数,写入延迟,
- 性能优化,比如反压,延迟比较高,
- hbase大规模并发的时候,是怎么做到写入延迟比较低,
最末:之前的公司记录
介绍:数据做什么方面的处理,xml数据类型,
Kafka十几个集群,数据量多少,pb级数据量,总体数据量, 消费的程序写flink开发的, 自己开发的java Arraylist和linklist在实现上、底层操作上有什么差异,算法复杂度,空间复杂度 增加、删除、插入的时间 查找 arraylist都是o1,增删o(n),基于数组实现,向后动态扩容,怎么实现数组动态扩容,复制,扩容1.5倍, linklist hashmap的key是object,用自己实现object,会有什么问题呢,任意对象有hashcode,object要保证里面的对象是不可变的,hashcode方法导致值会变化 Java的并发类,comparelinkq,comparhashmap, 大数据组件相关的问题,什么是sql什么是nosql数据库,关系型和非关系型数据, 什么是行式储存(连续行存储,就要加载所有的列),什么是列式存储(存到文件里,连续列存储,减少到内存读取的数量), Es的索引,task和keyword的区别,keyword,一个需要分词,一个不需要分词的文本 Kafka如何避免重复消费,定义偏移量,消费成功的时候把偏移量
sprk和hive的了解 Spark比hive的优势在哪里,工作中用到spark的方式, 网络流量数据,自己写,利用率更高,减少cpu利用率
数据结构,什么是平衡二叉树,有向无环图,图遍历(深度遍历和广度遍历) 线程和进程的区别,面向政府,访问应用 Hdfs做离线任务 并发能力 对于es要了解
Hbase是key要满足什么涉及原则,写入和查询,写入异常,哪个库的
并发的效率
Es的节点类型,节点之间是怎么访问的,doc value是什么,索引有没有更新,和bitmap的区别,倒排索引怎么实现的, 计算机网络:传输层的协议,tcp udp,控制网络拥堵的算法 DMA是什么 Java垃圾回收机制,类加载的过程、生命周期 页淘汰算法,fifo lru flink几层
和spark对比
数据是怎么过滤的,具体匹配算法是什么,封装好了的算法? 对kafka了解的深, 实现原理:https://cloud.tencent.com/developer/article/1530090 订阅消息队列的三种方式 Once就是被消费一次,还是有at least once at most once 不同消息队列提供不同的消费语义, java里的volatile关键字,怎么做java的并发控制 java的jvm Redis是怎么部署的,用哪种模式 Redis的实现原理,存kv,数据结构,sds有哪几种结构 网络:tcp四次挥手的流程, Sql写的多么,sql语句的执行过程,怎么解析sql,怎么传到具体组件里面,sql parser的过程 工程基础,给一个任务,模块,分解成可行的步骤,工程能力,给出很好的方案,性能,对很细的点专研很深
Flink转化,怎么重推数据
离线也是通过flink是批处理解析的数据,落地到hdfs,建hive库表,做一些离线抽取, 每天flink的数据量级,大概是多少级别,pb级左右, 当flink流式处理之后,做数据重推,对实时指标计算,做怎样的操作, 回滚包括哪些信息,位置,量级 Flink从kafka里消费数据,到最后数据罗盘,是怎么保证数据的gapt once,保证数据不丢失 Offset 写到es,写入失败,幂等怎么保持一致性,这样的数据流怎么保证它不能多不能少 Offset怎么去控制,还是有其它机制去保证这个事务的执行 flink提交kafka的offset,是在哪一步提交的 是计算完之后提交,还是存到es之后提交 落地写入失败,这部分数据怎么办,对kafka而言,这份数据已经消费完成了, 怎么判断落地未成功,kafka消费完以后的数据怎么追查,不知道有哪些数据没存在,重推,从哪里重推,哪个位置少了 Flink的checkpoint机制,故障排除的机制,怎么存的,怎么维护状态 幂等,数据一致性,flink反压,流量暴增,由于某个逻辑出现问题
离线流程: 写sql,hive去重,distinct group by ,窗口函数实现去重, Lonamer函数,不是列函数,noranber函数 Hive写一些参数,hive参数的优化 Hive的内部表和外部表的区别
java 线程的创建方式:runable 线程池的参数
多线程场景,一个主线程,三个子线程,主线程启动,子线程做count操作,主线程做sum,sleep(10) 怎么多线程并发 怎么知道线程执行完成,
多线程去修改一个全局属性int,怎么保证线程安全 concurrent包里面的原子类
hashmap的数据结构 Hashmap怎么扩容,1.8的扩容机制
java的反射 常用的两种反射场景,classforname和classforloadder分别是怎么加载的 一个加载的逻辑和顺序有什么区别
Java oom错误是怎么定位问题
Jvm的时候,发现老年代是full GC比较频繁,在资源恒定的情况下,出现full GC是哪些原因 1.8
Flink参数调优:看资源来定,数据量级,几个partition,qps,数据是否有积压
连续7天每天登录每个网站的用户前3
topN问题 Checkpoint的时间间隔设置的是多少
通过kafka的topic partition offset,查看具体的数据包内容
|