【一面挂】哔哩哔哩 T2开发实习生 一面凉经

记录一个not so good的面试经历,没啥参考价值。

总体流程

  • 前两天在boss上海投,看jd允许C++语言,就投了(也没管做的是啥内容,jd上是分布式存储)
  • 然后面试前问我两个问题(第一次遇到这情况,日常实习居然要求高到这么离谱)
    • 看过leveldb吗
    • lru cache,如果key和value都是int64_t,怎么优化。
    • 反正很匪夷所思吧,居然面试前出题,本着只想看看常见八股文是否背熟了的原因,选择接受了面试,结果真的不问常见八股
  • 然后火速约了面试,在2022.7.7 17:00
  • 之后无任何通知,肯定是凉凉啦

自我介绍

面试官的表情很匪夷所思,感觉是对我不感兴趣(不感兴趣就不要给我面试啊),让我略微不爽的样子

之后的内容,不完全回忆(30min)

嗯,面试前还给我出题。然后主要就是深挖这两个问题,没有对着简历问,没有八股文/项目问题。

我就看了看整体结构,lsm-tree是啥,因为我也不知道该看啥。还是之后的八股文面试重要,所以重心还是背熟八股文吧,面试前看这个靠临场发挥的东西,不值得。

几乎没有回答上的问题。我一般面试也得回答个50%的,这个确实无能为力,无法短期突击。

  • 导师放实习吗?跟导师商量过吗?
  • leveldb是啥
  • 你看了leveldb的什么东西
    • 整体结构,lsm-tree
    • 有点卡壳,面试官说我别紧张
  • leveldb为什么写入性能就好呢?
    • 我就说先写内存,减少磁盘访问次数
    • 然后就是尽量将随机写转为顺序写
  • 然后开始深挖,随机写转为顺序写是为什么呢?
    • 不会
    • 就说随机写,寻道可能更费时间
  • 那什么叫磁盘的寻道?
    • 我说就是磁头在磁道上移动
  • 怎么寻道呢?
    • 麻了,我居然给我挖坑了,我也不知道啊
    • 后来跟别人讨论了一下,应该说说寻道算法才对啊,这块大意了
  • 那你之前怎么知道这个词的?
    • 课上学过,但是没深挖
  • 还了解了啥?
    • leveldb怎么读,怎么个compaction
  • 问怎么读?
    • 我说的模模糊糊
  • leveldb为啥要搞这样的分层设计?
    • 不知道
  • leveldb为什么要从上层往下层读呢?不能从下层开始?
    • 我也不知道啊,我猜是越下层,key就越多,还不如先从上面开始呢,找的key少
  • 那行,还是问那个lru cache吧。
    • 我回答了,没查到相关的优化,我也跟同学探讨了下,觉得优化空间不大
    • 我就说同一个前缀只保存一份吧,后缀存多份(跟另一个同学的讨论结果)
    • 你这个优化的目标,是时间,还是空间?当然是空间啊
  • 那怎么个存法?
    • 我说,应该就是两层的查找(哈希)吧
  • 知道trie树吧
    • 我说,就是前缀树
  • 那么如果有100w条数据,在这里存,大概要多少空间呢?
    • 我还以为是说前缀树呢,想了半天,说这是个二叉树,有多少位就有多少层
    • 结果是问lru cache的,我就说,这个一般包括一个哈希表,和一个双向链表
    • 我就根据双向链表节点定义,算了算双向链表的占的空间,粗略算,算了个大概结果
  • 这种又怎么优化呢?
    • 不会
    • 之前有的问题就说不会/不知道了(看这种面试,我也想开摆,然后说让我想一想,很多是临时憋出来的)
  • 然后就是聊天,问如果你进来了,对之后要做的工作有什么期待呢?
    • 就是问了会做什么存储(因为jd是分布式存储),用C++还是go
    • 会用什么库或者技术栈
    • 然后我说,得根据后面的兴趣来看详细做啥吧

算法题(10min)

赛码网,ACM模式

K个一组反转链表(限定k=3,最后不满足k的部分需要反转,LeetCode 25

可能因为我表现不好吧,给我来hard题,虽然写过,也是常规hard,但是由于面试经验很少,没有bug free

说要我15 min内写完,我说想先说思路,面试官说这东西没啥思路,直接写吧

写了几分钟(不到10分钟吧),写了主函数,但是跑了之后发现有点bug,我需要debug

他看我在跑,问是写完了?我说我要debug一下,他说不用了,一次写的有问题很正常,我看下就行了

感觉这个环节像打发时间,反正面试结果已定。

反问+聊天

刚刚聊天的时候,已经问了一部分了

  • 怎么培养实习生
  • 然后把lru cache的问题反向抛给他
    • 也不正面回答吧,反正
  • 我问他们平时用leveldb吗,他说不用,这个东西比较简单,会用别的
  • 我说这些都是基于lsm-tree吗
  • 面试有几面
    • 一面 or 两面
  • 然后问我,会go吗?知道谷歌的code style吗?
    • 很少用
    • 了解过,但是平时的代码风格有区别

总结

没看过leveldb,目前不在能力范围之内,表现确实不好,挂了就挂了吧(应该是第一次一面挂的经历),算是完全开摆的一次面试。

虽然我实力确实不行,但是感觉被刁难了,可能因为学校不够好/学校不在上海吧。

其实在boss上问了挺多人,经过这次之后,对于我这个uid 7位的8年老用户而言,我也没有再投递的欲望了

只是代码题没bug free,略微遗憾

#哔哩哔哩##日常实习#
全部评论
大哥真厉害
2 回复 分享
发布于 2022-07-28 12:47
一看就是分布式存储岗位(leveldb、mit6824, go),转分布式挺难的,要看源码,论文,啃lab,楼主加油!
1 回复 分享
发布于 2022-08-01 17:31
请问是用 C++ 还是 go比较多呀
点赞 回复 分享
发布于 2023-08-15 22:11 浙江
你好你好呀 我可以问下这个怎么投吗
点赞 回复 分享
发布于 2022-11-18 09:42 浙江
lru他们怎么说的?cache line对齐?
点赞 回复 分享
发布于 2022-09-14 16:51 上海
trie应该是字典树,剑指题单中间靠后有很多题,可以跳到相同题目看一下宫水三叶写的系列
点赞 回复 分享
发布于 2022-09-11 19:09 山西
两周前,一样也面试了b站分布式存储实习。。两面后挂了。。
点赞 回复 分享
发布于 2022-08-06 08:24
楼主试试滴滴提前批吗😂,免笔试,我主页有链接
点赞 回复 分享
发布于 2022-08-02 00:39
我看大佬面字节下面评论有建议看一下leveldb的,加油betty姐
点赞 回复 分享
发布于 2022-07-30 19:42
刚面了T2,离谱。
点赞 回复 分享
发布于 2022-07-29 15:22
我下周一也要面这个T2开发实习生了 不会也这样吧 倒是没有在面试前问我问题。
点赞 回复 分享
发布于 2022-07-28 20:04
加油
点赞 回复 分享
发布于 2022-07-23 22:18

相关推荐

评论
7
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务