百度AIDU计划大数据一面面经(凉经) 整个流程如下:项目相关内容介绍spark相关内容JVM 相关内容

整个流程如下:

首先进行自我介绍

项目相关内容介绍

1.项目介绍
2.项目的难点和实现的最核心的东西
3.整个项目中你做了什么?
4.时延是多少?
5.缓存多大的量?
6.redis旁路缓存的具体过程,如何保证数据一致性的

总结:1.项目的内容我应该说实时数仓的相关内容 2.具体内容的重点我应该说数据分流、旁路缓存和维度拼接的内容 这一块需要再次组织语言,针对使用的内存量是多少之类的相关内容给出相应的界定 里面常用的指标记忆几个 spark相关内容

spark介绍:spark作为一个重点的内容进行复习
1.spark执行流程
typore的spark相关的内容,需要再好好看看
2.shuffle和宽窄依赖的关系
shuffle的过程
3.数据倾斜怎么处理的,加盐之后两次map reduce 关于数据倾斜的方案都好好进行处理
4.repartition
5.reducebykey 和 groupbykey的区别与联系
各个算子的作用好好看看
https://www.cnblogs.com/bonelee/p/7111395.html

目前的理解:reducebykey 在一个partition内存中计算好之后再传递到下一个partition groupbykey 是在全部在内存中进行计算的,比较消耗内存

6.spark、flink内存管理
6.1 spark内存模型:https://www.cnblogs.com/coco2015/p/11240677.html
6.2 spark内存管理:https://www.cnblogs.com/mmzs/p/8406114.html
6.3 flink内存模型:https://www.jianshu.com/p/e0f95c625f9e
6.4 flink内存管理:https://blog.csdn.net/qq_36421826/article/details/82494104
7.spark shuffle 过程

JVM 相关内容

1.内存模型 JVM内存模型,深入看一下,包含所有的gc相关的内容,以及分代和垃圾回收
2.moniter gc和full gc的区别
3.CMS底层实现、G1、CMS作用在哪个分区、实现方式
4.哪些能引起full gc
https://blog.csdn.net/weixin_36065817/article/details/114727852
5.flink/spark任务gc相关的问题,遇到了吗?怎么处理的?

算法题
1.单例模式
风中的故事式、饿汉式
锁的内容 8锁模式,好好看看

/**/饿汉式单例public class Hungry{ private Hungry(){} private final static Hungry hungry = new Hungry(); public static Hungry getInstance(){ return hungry; }}

/*
*/风中的故事式

public class LazyMan{ private volatile static LazyMan lazyman; public static LazyMan getInstance(){ if(lazyman == null){ synchornized(LazyMan.class){ if(lazyMan == null){ lazyMan = new LazyMan(); } } }}

总结:本次面试准备时间特别仓促,复习的时候过于宽泛,没有深入准备,面试特别紧张、需要再次组织语言。增加code练习。针对每一块内容都逐步开始复习工作。望大家监督。