微信号:mjx_java

介绍:主要是讲解编程语言java,并且每天都推送一条关于java编程语言的信息

阿里,网易 云音乐以及商汤科技的大数据面试经

2018-05-26 17:13 java一日一条

项目方面:项目闪光点、优化点、涉及到的关键技术这些基本都会问,事先最好准备一下、如果有开源项目经验就更好。

语言方面:

至少精通一门语言Java或C/C++等(以Java为例),java内存模型、gc回收算法、各种gc回收器的使用场景

类加载机制以及涉及到的一系列问题;volatile特性、主内存与工作内存交互、happen before原则、内存栅栏

类加载过程(class文件到jvm这个过程)

callable runnable 区别

synchronized与lock区别

进程线程区别

hashMap和treeMap的区别,以及实现

concurrenthashmap怎么实习同步?各个版本的实现方案?

PS:最好再掌握一门脚本语言。如Python或者Scala等。

大数据方面:

MapReduce过程;

spark排序实现流程,reduce端怎么实现的

HashPartitioner与RangePartitioner的实现,以及水塘抽样

spark有哪几种join,使用场景,以及实现原理

dagschedule、taskschedule、schedulebankend实现原理;(网易 云音乐 )

宽依赖、窄依赖(网易 云音乐 )

画一个yarn架构图,及其通信流程

hdfs数据读取流程,实现原理

HBase和传统数据库的区别;

HBase读数据过程;

HBase Master和Regionserver的交互;

HBase的HA,Zookeeper在其中的作用;

Master宕机的时候,哪些能正常工作,读写数据;

region分裂;

Spark数据倾斜,怎么定位、怎么解决(阿里)

Mysql的索引类型及其实现原理;同时哪些存储引擎支持B树索引,哪些支持Hash索引
为什么mysql索引要用B+树而MongoDB用B树?
Mysql查询如何优化
主键和唯一索引的区别
事务的隔离机制,mysql默认是哪一级
MyISAM和InnoDB存储引擎的区别
Mysql查询优化,慢查询怎么去定位?
Mysql中的各种锁,乐观锁,悲观锁(排他锁,共享锁);行锁,表锁是怎么实现的?
MapReduce支持哪些join,map端?reduce端?semi join?semi join可以通过什么算法去优化?
MapReduce实现二次排序;
MapReduce实现两表join;
MapReduce实现一个存储kv数据的文件,对里面的v进行全量排序;
Zookeeper实现原理,zab协议以及原子广播协议;
paxos协议,multi-paxos,zab,raft各种分布式协议内容,使用场景;
Hadoop namenode的ha,主备切换实现原理,日志同步原理,QJM中用到的分布式一致性算法(就是paxos算法)

spark运行架构:
spark运行原理,从提交一个jar到最后返回结果,整个过程;
spark的stage划分是怎么实现的?拓扑排序?怎么实现?还有什么算法实现?
spark rpc,spark2.0为啥舍弃了akka,而用netty?
spark的各种shuffle,与mapreduce的对比;
spark的各种ha,master的ha,worker的ha,executor的ha,driver的ha,task的ha,在容错的时候对集群或是task有什么影响?
spark的内存管理机制,spark1.6前后对比分析
spark2.0做出了哪些优化?tungsten引擎?cpu与内存两个方面分别说明
spark rdd、dataframe、dataset区别.

算法数据结构方面:

图怎么存的、有哪些图算法;
红黑树怎么实现、如果树里面有两个值相等的节点,怎么识别?

问题:一排正整数,每次只能去两头的数,甲乙两个人轮流取,如果甲先取,问后谁取得数相加和最大,最大和为多少?典型博弈论问题(可以看看海盗分金问题),大致两个动态规划方程


 
java一日一条 更多文章 JAVA8之lambda表达式详解 JAVA8 JVM的变化: 元空间(Metaspace) 月底资料干货分享,先到先得,时间有限! 昨天520,小编被“祝福”震惊到了 美国硅谷说污不污的算法
猜您喜欢 如何做一场B格满满的技术大会演讲 Spark RPC通信层设计原理分析 还在奢求客户轻虐?快速部署高品质应用才是硬道理! Linux的进程间通信-消息队列 债券 = CDS?通过债券推测CDS价格