Java基础部分
异常、多线程、容器和I/O
UML、面向对象的设计原则、GoF设计模式、企业级设计模式、JDBC、XML等知识
Struts和Hibernate
JavaWeb
数据结构和算法
基本涵盖了大数据岗位的所有重要技术栈。由于原图太大,请文末扫码获取原图面试时,面试官通常会从技术能力、沟通能力、管理能力等方面考察应聘者是否符合岗位要求,但本文着重讨论技术能力。那技术能力如何考察?有以下几个方面:基础能力这个是硬指标,不过关的基本一票否决,当然技术能力的标准是根据工作年限,面试职位和薪资要求共同来决定的。面试官会根据实际情况有自己的判断。常见的问题包括Java的JVM、多线程、类加载、Scala伴生对象,偏函数,柯里化,还有Shell和Python、HBase读写流程,以及Yarn任务提交流程等。底层原理不管干什么细分领域的开发,始终都要重视底层原理,这对能力的提升至关重要。在大数据岗位的面试中,涉及底层原理的问题大体如下:Hbase是如何存数据的,为什么读得快
Spark为什么就算不在内存跑也比MR快
Zookeeper数据怎么保证一致性
对选举机制的理解
源码阅读源码是非常好的学习方式,在日常工作中我们或多或少都会接触一些开源代码,不管我们当前是什么水平,通过反复阅读源码,能力都会有所提升,小到对源码所提供的功能上的使用更加熟练,大到使我们的程序设计更加完美优秀。因此在面试中,面试官通常也会问候选人有没有读过源码,以及从源码中获取到了什么信息、有什么帮助等问题。系统设计如果候选人独立负责过整个项目的系统设计,系统架构、设计模块的选型,这对于面试结果来说,绝对是一个加分项。一般会从可用性、可扩展性、性能、安全性、大数据量、高并发、分布式设计等多个角度考察。以上问题如果回答得不太好,面试官可能会给个机会让你说下自己最熟悉的技术,不限制从哪些方面讲。这时候就要选取自己最擅长的领域,经得住面试官问下去的那种进行详细阐述,弥补前面留下的不够专业的印象。在工作中,除了基本的技术能力以外,统筹和管理等软实力也很重要,因此,面试过程中,还有可能面临其他相关考察。解决问题能力如何排查Hbase集群cpu过高问题
如何优化Spark任务......方案设计能力
说说数据仓库设计建模过程说说数据质量监控系统怎么设计......针对这些常见问题,除了整理出的道大数据岗位的面试问题及答案以外,还有关于MapReduce、Hive、Hbase的小案例,全文一共页。想要的同学可以扫文末