春招一份好的实习是秋招的一块敲门砖,可自己却很晚才意识到这个问题,一直想着暑假再去准备。最后在看着身边大佬都去了腾讯、网易实习,感觉不能再等下去了,在4月中旬开始寻找实习。路程一度异常坎坷,本着不放弃的精神在各个平台(拉钩/boss直聘/实习僧/牛客)投递了无数份简历,面试是一个不断学习的过程,把自己面试的问题记录下来,也许下次你就可以给面试官大佬聊聊你对问题的扩展。offer是一个很玄学的东西,当你没有时可能觉得人生无望,只要有了第一个就开始各种offer让你纠结选择中。第一个offer是杭州数睿科技的大数据案例开发师(人生第一个offer,最后有了其他公司拒掉了),然后收到了美团爸爸的数据仓库offer,接着来了京东的大数据开发offer(因为是部门直招,觉得转正可能会有问题就狠心拒掉了),最后收到随手科技的大数据开发岗(因为决定去大公司见见世面,虽然是喜欢的岗还是拒掉了)。人生大起大落,虽然找到了实习,但感觉平时的积累还是很重要,只要坚持不放弃,就没有完成不了的事。
滴滴面试:
1.讲一下hadoop的MapReduce过程
2.将一下wordcount的MapReduce过程和wordcount怎么去重
3.谈一下hashmap的源码
4.讲讲wordcount的过程
Kyligence面试:
1.java的基本类型
2.java的runnable和callable有什么区别
3.谈一下三种集合,hashset是怎么实现不重复的
4.谈一下MapReduce的过程
5.堆排序的过程是什么样的
美团面试(数据仓库):
一面:
1.讲一下你自己收获最多的项目
2.讲一下sql的join连接
3.讲一下sql中where和on在等值连接时的区别
4.讲一下堆、栈、队列的区别和应用场景
5.讲一个稳定的排序算法和不稳定的排序算法
6.讲一下java的单例模式(银行用户存款的例子)
二面:
1.讲一下你的其他项目
2.shell的常见命令(>、|、/dev/null)
3.给定一个userid,visit_time的文件a,如何通过shell来统计出现的用户数
int a=cut -d "," -f 1 2.txt|sort -u|wc -l
echo $(($a-1))/echo `expr 10 - 1`(中间必须有空格)
4.Mysql的两个存储引擎有什么区别
5.有一个课程表,有学生、课程、分数三列,求每个学生分数最高的课程以及分数(sql语句)
6.谈一下hashmap的扩容
7.hadoop和spark streaming在处理数据时有什么区别
8.谈一下java的内存模型以及如何优化
随手科技
一面:
1.谈一下java的内存模型和jvm的垃圾回收
2.假如有三个子线程和一个主线程,可以用怎样的方法让三个子线程在运行完后再运行主线程(jdk1.5之后的并发包中的闭锁)
3.假如有三个线程,它们的执行顺序不一样,在某个节点如何让先到达的线程等待后到达的子线程然后一起执行(通过并发包里的栅栏实现)
4.hadoop的原理
5.用spark streaming,如果机器突然停止,如何保证重启后数据仍然接着原来的数据。
6.hive中的map join和reduce join
7.介绍一下sql的表分区
二面:
1.spark和hadoop的性能比较
2.kafka中怎么保证高性能的分布式系统
3.wait和sleep的区别和它们的应用场景
4.arraylist中怎么删除指定元素
蘑菇街:
一面:
1.spark streaming重启后从哪个点开始
2.你的项目用到了那些hive操作,简单介绍一下
3.讲一下java里的容器
4.hashset是怎么实现的
5.hashtable、currenthashmap和hashmap的区别
6.default类可以重载吗
二面:
1.hadoop的组件都有哪些,说说他们之间的关系
2.kafka的原理,中间数据最终存在哪里
3.spark streaming 的容错机制
4.数据仓库的定义
5.数据仓库和传统的数据库的不同
6.结合你的使用谈谈对hive的理解
7.spark的组件和之间的关系
网易
一面:
1.讲一下hive的星型模型和雪花模型
2.了解mysql的范式吗,给第三范式举一个例子
3.讲一下spark streaming的原理
4.讲一下spark的容错机制
5.sqoop从hive导入到mysql的是什么
6.hive里删除的数据怎么处理
7.你知道常见的hdfs操作(比较移动、上传文件)