准备面试比较晚,盲点很多。一二面的重叠度有点高,还刚好碰到复习过的地方就飘过了,后面三面直接问到不怎么熟的多线程和数据库,估计凉凉。
可能是Hadoop相关的东西问得稍微多一点,个人感觉问到的基础知识点比国内的少。
一面
自我介绍(要求重点介绍项目)
怼项目(重点在于Hadoop相关部分)
Hadoop相关问题的延伸(HDFS写数据流程,要求越详细越好)
TCP 4次挥手流程(要求越详细越好)
如果要实现一个HashMap怎么做,算法复杂度多少。
手撸快排。(有思路没撸出来)
面试要求尽可能的说出细节,但是我只能大概说出来一些设计原则。
二面
感觉三次面试里最舒服的一次,遇到不会的会让猜一猜结果和过程。
没有自我介绍,上来直接撸算法题,从排好序的数组中找相加的和为k的两个数。结果正确的基础上,如何优化代码提高可读性。
怼项目(Hadoop相关部分)
延伸到Hadoop相关问题:
- namenode的主要职责,元数据的形式
- 介绍namenode宕机的恢复过程
- namenode启动时datanode向namenode的心跳报告内容
- block划分的原因
- HDFS写数据流程
一个多线程代码,判断是否会跳出线程。(主要考察线程中对类静态成员变量的访问)
linux bash,一行命令,输出文件中某关键字的出现的行数。
有没有时间实习。
面试官建议多了解对java基本的多线程、GC,对Hadoop源码的更深入一点。
三面
问的三个问题都是盲点,估计凉凉。
怼项目
- 一个线程生成key-value对,另外一个线程合并相同的key对value求和;
- SQL语句,合并表里相同人姓名的成绩求和;
- 最后linux bash脚本求去除表头后第二列值的和。 (看我动不了手允许google 5分钟)
未来的发展规划
面试官建议多重视基础。
全部评论
(12) 回帖