阿里大数据一次简单而失败的面试题回忆
一面
- 简单介绍一下自己以及自己做过的项目;
- Java HashMap 是不是线程安全的?为什么?
- 请用 Java 写个单例模式
- 知道几种 GC 算法?
- 如何实现一个高效的单项列表逆向输出?
- 数据湖和数据仓库有什么区别?
- 详细介绍下 Flink 的 Checkpoint 执行机制(分布式快照)
- 算法题:寻找两个正序数组的中位数
二面
- 如何在两个进程间共享数据?线程呢?
- 如何在 main 函数里面等待一个线程执行完毕?
- 用MapReduce手写一个wordcount,
- 用 MapReduce TopK 怎么实现?
- Hudi、Iceberg 和 Delta Lake 哪个熟悉?它们之前有什么区别知道吗?
- 请简述 Hudi 的读写流程。
- 布隆过滤器的原理知道吗?(在回答 Hudi 写数据的时候提到布隆过滤器,所以面试官问了)。
- 算法题:合并两个有序链表。三个有序链表合并?K 个呢?
三面
- Spark Shuffle 读写原理说下,和 MapReduce 的 Shuffle 有什么区别?
- Hudi 支持流批一起处理吗?他是怎么实现的?
- Iceberg 知道吗?实现原理你知道吗?
- Iceberg 的时间旅行是怎么实现的?什么场景下要使用它?
- Hudi 和 Iceberg 你怎么选?为什么。
- 算法题:一辆公交车,有 m 站,最多坐 n 人,输入一路上的票信息(即上车下车站),输出会不会超载。
四面
- 说一下你熟悉的设计模式?
- synchronized 和 ReentrantLock 区别是什么?
- 都知道哪些分布式一致性算法?挑一个你熟悉的说下其原理。
- Join 的实现有哪几种?场景是哪些?
- 一条 SQL 从提交到拿到结果都经历了什么?
- 说下你理解的数据湖?
- Hudi、Iceberg 和 Delta Lake 怎么选择?
- 请简述一下 Flink CDC 原理
欢迎关注,《大数据成神之路》系列文章
欢迎关注,《大数据成神之路》系列文章
欢迎关注,《大数据成神之路》系列文章