字节提前批意向面经
7.13投递,投的岗是提前批后端基础架构,拿的offer部门是专门做分布式文件系统的,我自己课题就是做文件系统的,也算很契合了
7.21 一面:
面的太早,全忘了... 因为当时是秋招第一次面试,还有点紧张,结果发现有点简单,觉得没必要记录问了啥
7.31 二面(主管面):
问:
- 上来先问能不能现在就过去实习,还是说必须要等到2024年毕业...我说应该没法提前过去
- 基本全是文件系统课题,问了估计半小时,问得非常细,还好代码全是我写的,就按照记忆来答,不过略有点吃力,因为最近实习没碰课题了
- motivation是什么
- 删除行为怎么做
- 怎么做并发控制
- 同时创建
- 同时删除
- medata怎么做的
- 追加写行为
- NVMe SSD
- Persistent Memory的表现
- page cache怎么做的
- 怎么做的allocator,ext4、btrfs怎么做allocator?说btrfs不懂,谈了下ext4的reserve window和delay allocation
- 怎么做的journal
- linux kernel IO stack
- 分布式公式算法比如raft懂不懂?老实回答不会,只是听说过...
- 对Persistent Memory的看法,毕竟现在intel停产了
- RCU并发
- 对现在Persistent Memory文件系统的认识和看法
- 写题:全排列,比较简单,我没怎么刷题,写了十五分钟吧
总体上还行,课题问得太细了,连各种race condition怎么处理也问,挺烧CPU的,别的一般,内核问得比较浅,毕竟主要是做文件系统的
8.15 三面(部门负责人面):
上来是围绕实习在聊
- 现在在阿里云存储部门的实习
- 做什么产品的,场景是什么
- 怎么保证崩溃一致性
- 怎么保证rename的原子性
- 目录rename怎么保证目录级联原子性
- 实习前半段设计方案功能,实现和测试
- 实习后半段主要在做性能优化,单核场景优化、多核场景优化 、一亿文件大数据量场景性能优化
- 定位到rocksdb的迭代器性能问题,去看了下它的迭代器实现,找到问题原因,解决问题。中间还遇到瓶颈在kernel page fault上,也优化了下
谈到rocksdb了,开始问rocksdb
- 架构,包括memtable、immem、sst这些烂大街的
- memtable skiplist vs. rb-tree
- 跨cf原子性
- disable掉wal后有没有办法保证跨cf原子性,然后开始引导我,讨论了下可以O_DIRECT + fsync的manifest实现
印象中好像就这些了,也是主要问存储,内核好像是基本没问。中途我反问是不是应该学点分布式系统,感觉这个好像算常识了,面试官说校招更看深度这个倒没关系,有点出乎我意料。总体上我觉得比二面还简单点
8.25 四面(交叉面,隔壁块存储部门负责人):
这一面相比前几面更关注文件系统在内核部分的行为,不过没二面那么烧CPU
问:
- 上来还是问实习,把三面关于实习的几乎全问了一遍,而且揪住jouranl和rename原子性一直问,问得很细,问到后面我有点难顶,因为我实习做的工作侧重点不是这块,只是刚来的时候看了下代码。好在最后还是凭借记忆撑过去了
- page cache。怎么bypass掉,fd的原理、关联行为等等
- 怎么提交io,谈了下之前看过内核的块设备层实现,队列设计等等,然后和文件系统层的交互
- 文件从打开、到读写、到关闭的全部流程,越细越好
- 打开,谈了下元数据层面文件系统的行为,包括pathename resolution,然后到dcache和negative dcache,到inode cache,以及各自cache miss的行为
- 提到了RCU,以及dcache的sequence lock
- 中间问我知不知道stale inode,我说前两天实习定位到一个kernel readdir的瓶颈,在disconnected dcache上,可能是inode删了但dcache没更新,导致进入disconnected状态需要从磁盘reload,他说不是。我说那是不是磁盘上删了但还有进程hold着引用,等运行时引用释放再删掉,他说也不是。然后说看来我没接触过,在网络文件系统里面,remote侧删除会导致stale inode产生。我说长知识了,这个真是第一次知道。
- 继续说到fd,说完他说差不多时间了,写题吧
- 做题:带重复数字的全排列。写了十几分钟,有个思路但没写完,他说时间差不多了你说说思路吧,我说了下思路他说你这个效率不高,但没说怎么做是效率高的,就说那就这样吧,后面就是我反问了。
我做文件系统之前是研究内核的,所以他往内核问我其实更熟悉一点,总体上难度也还行。
都按记忆写的有些印象不深可能漏了,9.1意向,没有hr面
给自己知乎专栏打个广告,大爷走过路过来看看啊~:https://www.zhihu.com/column/c_1576639032024567808
#晒一晒我的offer#