字节后端二面凉经
一面 60min
实习和科研随便问了一下,不超过10分钟开始大量八股
操作系统:虚拟内存概念,进程间通信方式,页面置换算法,io模型
计网:post 请求过程,到网关和服务器的后续流程(不会),http版本,拥塞控制
数据库:事务概念,隔离级别,幻读概念(被纠错),怎么防止幻读(mvcc)
手撕:合并区间,扩展问如果有大量不重合的区间呢(内存存不下,感觉是类似外部排序解决)
二面 60min
真的是刨根问底的问法拷打实习,实习和科研都挺简单的,没问出什么,就去问底层kv库和怎么用raft的,这里答的不太好
kv库底层 rocksdb 的原理,为什么用rocksdb,为什么用lsm(这里memtable 记错了,是用的跳表)
为什么mysql先写redo log 再写binlog(这个我说两阶段提交,被追问先写binlog会发生什么,主从同步为什么会不一致,脑子不清晰答不上来)
实习就做了这个工作吗,还有什么难点吗(实习被说太简单了)
写过 java,go 吗(无),看过redis 源码吗(就说了一点数据结构实现的代码片段)
有个用户信息表,会给什么建索引
如果给姓名年龄建立联合索引,两个相同性别年龄的记录在b+树上的顺序(追问如果没有主键呢,这里后面查可能是想问隐藏rowid)
拷打科研,发现没什么好问的
什么场景用poll不用epoll
单reactor和多reactor 模式区别
redis什么时候用其他进程,说到异步删除大key,问多大是大key
redis 哈希扩容是怎么做的(这块答的也很烂)
题目:128. 最长连续序列无序整数数组找最长连续整数长度,写的比较复杂了,用了两个哈希表弄
总结很多知识还是太薄弱了,问到细节就卡住了。