字节data大数据开发一二三面面经(已发offer邮件
作者:Offer快来吧please
链接:https://www.nowcoder.com/discuss/613574?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
本人非科班 自学一年 找暑期实习第一家邀请面试的就是字节,还是自己能力不够被虐得很惨
3.7投简历 3.8邀请面试 无笔试
一面3.10 下午2.00 (60分钟)
面试官是个很年轻的小哥 一边面一边想问题
先自我介绍 再聊项目 再挖简历
1.自我介绍 项目介绍
2.为什么用kafka、sparkstreaming、hbase?有什么替代方案吗?
3.聊聊你觉得大数据的整个体系?
4.你看过hdfs源码?nn的高可用说一下
然后简要描述一下hdfs的架构 nn+dn+通信框架及功能细节的描述
5.zookeeper简单介绍一下,为什么要用zk?zk的架构?zab?
6.zk的数据存储,当重启后怎么重构zk的数据模型
7.hbase的架构,读写缓存?
8.blockcache的底层实现?你提到了LRU那除了LRU还可以有什么方案?
9.hbase重启后怎么重构blockcache?(不会 只知道hlog和memstore)
10.聊聊sparkstreaming和flink?flink流批一体解释一下?
11.spark shuffle
12 java gc 可达性分析+垃圾回收器+垃圾回收算法+为什么分代垃圾回收+调优
13 数据库引擎,innodb索引实现+聚集和非聚集区别+为什么用b+树不用hash
14.聊聊最左前缀?给你出一道题 建立联合索引后查第二个字段索引还有用吗(这里答错了,面试官还重复确认了好几次我都给了个错误答案
15. 操作系统学过吗?(没有
16.那你知道进程和线程的区别吗?(这个还是知道
17.网络聊聊tcp和udp的区别
18.http知道吗 说一下
19.http版本之间的比较(这个没复习到 直接说不会
20.数据结构 让你设计一个hash表 怎么设计?(我按jdk的hashmap源码说了一遍 不知道对不对
21. 时间不多了 手撸一个二分查找吧
然后马上二面 一秒没歇 二面很多问题我都说的不好 反应有点慢
二面3.10 下午3.00 (60分钟)
面试官是个有点成熟的大叔 但是很温柔 一直引导我
有些问题记不起来了
1.为什么做这个项目?框架有什么替代方案吗?
2.从项目出发 重新给我一个场景,现有的项目能解决这个需求吗?行的话说明原因,不行的话怎么改进?(系统设计题 答得不好 一直口糊
3.为什么你觉得flink比sparkstreaming好?(一二面都让我说了flink和sparkstreaming两者的对比和想法)
4.excatly once
5.操作系统学过吗?(一面也问了
6.那设计一个hashtable(一面还是问了 我都怀疑是不是拿的同一份题库
7.怎么解决hash碰撞+ 时间复杂度+优化+改成红黑树了时间复杂度+继续优化
8.100M的数组 随机查快还是顺序查快 解释为什么?
9.讲讲spark为什么比hadoop快 以及spark的几种shuffle以及为什么要丢弃hashshuffle
10.突然问我 那flink shuffle呢?你了解吗?(不了解
11.力扣原题 快速选择 我讲了思路 (这里我思路有问题 因为面试官一直强调是有重复的 我直接想错了 但是还是把快速选择思路和时间复杂度分析出来了
本来感觉二面过不了,主要是项目比较薄弱一直口糊,但是第二天又约了周日上午的三面。这是我面得最差的一次,全程压力面,被怼得心态炸裂
三面 3.14 上午11.00 (60分钟)
描述一下就能感受到面试官给的压力
1.你是非科班?怎么学习的
2.我不是问你怎么学框架,计算机网络和操作系统怎么学的?
3.java多线程你会是吧?(我强调了我只是了解,结果开始了我的噩梦
4.怎么保证线程同步?
5.sychornized讲一下 和其他的区别
6.sychornized怎么优化
7.volatile可以保证原子性吗?
8.cas呢?我讲了cas的原理 结果怼我 我不是问你原理 我是问你怎么保证原子性的?(我一脸懵逼,突然怼我,只能说我只知道这些
9.reentrantlock底层原理(不会
10.如何防止死锁 (我讲了死锁的必要条件 可以避免 预防或者剥夺资源 面试官不耐烦的打断 你别扯这些 代码层面怎么写怎么保证知道吗
这时候我心态已经开始不太好了 说话都没底气了
11. 除了reentrantlock,你还知道什么锁(我多线程这块真的了解不多,已经解释过了还是一直逼问
12.读写锁底层实现原理和应用场合(我说了我不会,他反怼我 不会你不可以想吗? 我说我多线程学的不多
13.网络知道吧 你给我讲讲dns什么是根域名服务器(这里也没复习到
14.那tcp和udp的区别 怎么流量控制 怎么拥塞控制
15.知道一致性hash吗(知道但不会)
16. 那行吧 数据结构 二叉树查找第k个 怎么做 口述思路
17.分析时间复杂度
18.二叉搜索树查找第k个
这时候我心态已经不好了 简单的题目都说不清楚,先说了个递归,但是不对,后来改成中序遍历,写出来他说我不对,但是我给他解释了一下他就没说这个了,不知道认可没
18.mysql acid 隔离级别
19.怎么实现隔离级别(我说mvcc但是具体原理不会
20.链表的hard题,k个一组反转,lc原题,还好非常快的bug free一遍过了 让我心态稳住了
这道题三分钟写完以后 终于到大数据框架了,前面被怼的快绝望了
21.hdfs源码你知道的话,讲讲元数据怎么管理的?
22.hdfs 你知道namenode的问题吗?怎么解决?应该就是联邦机制
23.zk的原理,基于什么协议,follower和observer的区别,zk怎么扩容
24zab和raft的区别 引申到paxos和raft
25.zk机房扩容有什么要注意的吗?(我只知道过半所以奇数个,其他的不知道
26.kafka呢 怎么保证数据一致性 引申到exactly once
27.spark flink你会吗?熟悉吗?还是说只是使用过(我不敢说话了都,只能说我会,但是不敢说熟悉
然后面试官就说那就不问了吧,那先这样吧,一个小时了 拜拜~
哎 三面真的完全抓着我不会的多线程和网络怼, 说了不会还一直逼问 感觉要凉了
打了括号的都是我感觉答得不好的地方
而且一二三面都是开门见山 没有介绍自己的部门和业务 没有反问环境没有说其他的任何话 问完直接结束视频, 不懂这是什么意思
非科班真的很多不会 继续加油吧 现在还没有其他的公司找我约笔试和面试 哎
——————
不得不佩服字节的效率,12点面完下午三点半hr联系我 约了周一hr面 许愿一下