平安普惠公司面试汇总

阅读 284 标签:大数据  hadoop  storm  
介绍一个熟悉的项目
1.Java多线程:多个线程共同调用一个方法造成数据错乱的问题?怎么办:然后就知道了多个线程访问同一个方法时,为了保证数据的一致性,需要对共同访问的方法加同步锁publicstaticsynchronizedbooleanwriteText(){}
2.Java内存模型:
gc内存模型:分为三部分:栈,堆,程序计数器,他们每一部分有其各自的用途;虚拟机栈保存着每一条线程的执行程序调用堆栈;堆保存着类对象、数组的具体信息;程序计数器保存着每一条线程下一次执行指令位置。这三块区域中栈和程序计数器是线程私有的。也就是说每一个线程拥有其独立的栈和程序计数器。
并发内存模型:。。。。。。
3.spark checkpoint什么时候使用和作用:Window操作等,其中checkpoint的作用就是将DAG中比较重要的中间数据做一个检查点将结果存储到一个高可用的地方
4.有一串IP(11.22.33.44),写一个方法函数,来对这串数字处理。结果:11*22*33*44。现场撸代码。
5.spark YARN模式 作业内部流程:DAG
YARN模式的作业运行调度描述如下
(1)客户端生成作业信息提交给ResourceManager
(2)ResourceManager在本地NodeManager启动Container,并将Application Master分配给该NodeManager。
(3)NodeManager接收到ResourceManager的分配,启动Application Master并初始化作业,此时这个NodeManager就称为Driver。
(4)Application向ResourceManager申请资源,ResouceManager分配资源同时通知其他NodeManager启动相应的Executor。
(5)Executor向本地启动的Application Master注册汇报并完成相应的任务。
6.spark的driver怎么驱动作业流程的:
7.dataframe和dataset的区别:
左侧的RDD[Person]虽然以Person为类型参数,但Spark框架本身不了解Person类的内部结构。而右侧的DataFrame却提供了详细的结构信息,使得Spark SQL可以清楚地知道该数据集中包含哪些列,每列的名称和类型各是什么。DataFrame多了数据的结构信息,即schema。RDD是分布式的Java对象的集合。DataFrame是分布式的Row对象的集合。DataFrame除了提供了比RDD更丰富的算子以外,更重要的特点是提升执行效率、减少数据读取以及执行计划的优化,比如filter下推、裁剪等。
8.有一个表字段name(a,b,c),score(20,30,40),sql语句输出结果:三字段:index,name,score。并且按score排序。现场撸代码。不使用row_number情况下,
9.sql语句超级多现场问。
10.mapreduce的shuffle过程:详细点描述,以及map端输出的数据是在哪里?
11.RDD:
12.mysql的事物等级划分:默认是哪个,可重复读。
13.mysql的B+树。。。。。。。。。
14.arraylist的底层是?动态扩容的话是一个什么策略?
文章来源:网络 版权归原作者所有,如涉及知识产权问题,请权利人联系我们,我们将立即处理.
田井中律
文章 96 获得 0个赞 共 0个粉丝

推荐阅读 更多精彩内容