interview icon indicating copy to clipboard operation
interview copied to clipboard

leveldb

Open PokIsemaine opened this issue 11 months ago • 0 comments

然后面试前问我两个问题(第一次遇到这情况,日常实习居然要求高到这么离谱) 看过leveldb吗 lru cache,如果key和value都是int64_t,怎么优化。 反正很匪夷所思吧,居然面试前出题,本着只想看看常见八股文是否背熟了的原因,选择接受了面试,结果真的不问常见八股

作者:椒麻酸菜鱼 链接:https://www.nowcoder.com/discuss/380157808635916288?sourceSSR=search 来源:牛客网 leveldb是啥 你看了leveldb的什么东西 整体结构,lsm-tree 有点卡壳,面试官说我别紧张 leveldb为什么写入性能就好呢? 我就说先写内存,减少磁盘访问次数 然后就是尽量将随机写转为顺序写 然后开始深挖,随机写转为顺序写是为什么呢? 不会 就说随机写,寻道可能更费时间 那什么叫磁盘的寻道? 我说就是磁头在磁道上移动 怎么寻道呢? 麻了,我居然给我挖坑了,我也不知道啊 后来跟别人讨论了一下,应该说说寻道算法才对啊,这块大意了 那你之前怎么知道这个词的? 课上学过,但是没深挖 还了解了啥? leveldb怎么读,怎么个compaction 问怎么读? 我说的模模糊糊 leveldb为啥要搞这样的分层设计? 不知道 leveldb为什么要从上层往下层读呢?不能从下层开始? 我也不知道啊,我猜是越下层,key就越多,还不如先从上面开始呢,找的key少 那行,还是问那个lru cache吧。 我回答了,没查到相关的优化,我也跟同学探讨了下,觉得优化空间不大 我就说同一个前缀只保存一份吧,后缀存多份(跟另一个同学的讨论结果) 你这个优化的目标,是时间,还是空间?当然是空间啊

作者:椒麻酸菜鱼 链接:https://www.nowcoder.com/discuss/380157808635916288?sourceSSR=search 来源:牛客网

PokIsemaine avatar Mar 06 '24 15:03 PokIsemaine