阿里大数据工程师面筋分享
2、二叉树的深度以及广度遍历方式
3、二叉树遍历情况中所有连续节点的最大的值
4、求数组所有可能的子数组
5、给定一个数,求一个有序数组的两个数的和满足这个数(可以拓展一下变成两个无序的数组)
6、求一个数组的第二大值
7、大文件(不能加载进内存)的排序问题
8、快速排序、归并排序、冒泡排序、选择排序(复杂度分别是多少)
9、hash、HashMap、索引(b tree/ b+ tree) 时间复杂度?
10、string、stringbulider、stringbuffer的区别
11、ArrayList、LinkedList、Vector区别
12、Class.forName和classloader的区别
13、Java设计模式
14、CocurrentHashMap底层结构
15、ThreadLocal底层结构
16、HashMap底层结构
17、Java解决Hash冲突的四种方式
18、JVM的具体细节(内存结构、GC算法、GC工具、引用方式等)
19、hadoop:
HDFS、Yarn、MapReduce原理以及执行过程,特别是MapReduce最好能结合源码说一些。
20、Flume+Kafka一个实时流采集框架:
(1)熟悉flume的工作流程,source、channel、sink、拦截器、以及自定义source、自定义sink、自定义拦截器。
(2)熟悉kafka的主要组件、kafka工作原理、kafka跟其他MQ对比的一个情况、kafka怎么保证三种消费状态
(3)结合kafka具体可能出现的网络瓶颈、zookeeper的GC情况
21、storm:
storm具体结构、storm调优具体方式、storm的如何保证高可靠、ack确认机制、storm的雪崩解决办法、strom计算pv、uv 、dv的具体方式。
22、Hbase:
hbase具体架构、hbase读写过程、hbase的表以及rowkey设计、hbase热点问题带来的危害
23、redis:
redis使用方式、redis数据结构类型、redis的bitmap结构、redis持久化、redis的淘汰机制、redis的缓存击穿。
24、spark:
spark提交一个任务的执行过程(job划分、stage划分、task生成、资源调度、shuffle详细过程等)、spark core的一些经典编程(spark core的二次排序,spark core的分组求top N)、spark 的优化、spark sql的堆外内存溢出情况、spark的优化
25、项目集群资源情况、数据量,以及具体项目遇到的问题,解决方案。
26、rpc框架通信协议。
27、谈自己对一些具体问题的看法(包括产品设计、分析)。
#阿里巴巴##大数据开发工程师##实习##面经#